
使用C语言做文件读取使类似于0x0a0a0a0a字符串能正常转换成uint32_t类型中间用到了stoi函数。代码如下string s;while (!infile.eof()) {infile s;cout stoi(s, nullptr, 0); //自动进行进制转换}可是程序执行总是提示std::invalid_argument于是设置断点进入调试结果变量s值为\277\060x0a0a0a0a一看就知道输入文件数据有问题但反复检查还是找不到问题点于是使用vs code十六进制查看器(ShiftCtrlP)-open with hex才发现问题原来是文件开头有3字节乱码删除后程序就正常解析了。