C++记一次文件输入字符串解析成数字不正常的情况
使用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字节乱码删除后程序就正常解析了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2419590.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!