当前位置: 首页 > news >正文

Mac/Linux getline 无法读取文件内容(读取内容无法显示)

如下面代码

#include <iostream>
#include <fstream>using namespace std;int main() {string file_name = "1.txt";std::ifstream file(file_name);if (file.is_open()) {std::string line;while (std::getline(file, line)) {char c = line.back();cout << static_cast<int>(c) << endl; // 13cout << c << endl;    // 无法显示cout << line << endl; // 无法显示break;}file.close();} else {std::cout << "无法打开文件" << std::endl;}return 0;
}

我发现我读取的文件每行的 line 是有大小的,说明读取到了每行的内容,但是通过 cout 打印就是空的

经过我的研究,我发现读取每行的内容里末尾有个 \r,在 ASCII 码里是 13,有这个 \r 就会导致读取的每行的内容无法正常打印,而在 windows 上是能正常识别 \r 的

所以解决办法就是删除每行的 \r 就能正常显示了

Mac\Linux 的这个 getline 只能按照 \n 截取,像是遇到 \r\n 这种格式,就留下一个 \r,导致字符串无法正常显示

http://www.lryc.cn/news/361684.html

相关文章:

  • NBM 算法【python,算法,机器学习】
  • spark3.0.1版本查询Hbase数据库例子
  • android高效读图方式——Hardwarebuffer读图
  • 悉数六大设计原则
  • hdfs复习
  • css-Ant-Menu 导航菜单更改为左侧列表行选中
  • 02-CSS3基本样式
  • USART串口外设
  • 大模型应用之基于Langchain的测试用例生成
  • C++之map
  • 【量算分析工具-方位角】GeoServer改造Springboot番外系列六
  • 【机器学习】机器学习与大模型在人工智能领域的融合应用与性能优化新探索
  • 上传图片并显示#Vue3#后端接口数据
  • 音视频开发14 FFmpeg 视频 相关格式分析 -- H264 NALU格式分析
  • Qt学习记录(15)数据库
  • c++常用设计模式
  • 【动手学深度学习】softmax回归从零开始实现的研究详情
  • MySQL:MySQL执行一条SQL查询语句的执行过程
  • 解决Python导入第三方模块报错“TypeError: the first argument must be callable”
  • 在python中连接了数据库后想要在python中通过图形化界面显示数据库的查询结果,请问怎么实现比较好? /ttk库的treeview的使用
  • OZON的选品工具,OZON选品工具推荐
  • 营销方案撰写秘籍:包含内容全解析,让你的方案脱颖而出
  • 如何制作一本温馨的电子相册呢?
  • 485通讯网关
  • Anaconda中的常用科学计算工具
  • Java 中BigDecimal传到前端后精度丢失问题
  • 在Linux/Ubuntu/Debian上安装TensorFlow 2.14.0
  • 多语言for循环遍历总结
  • python API自动化(Jsonpath断言、接口关联及加密处理)
  • C++入门5——C/C++动态内存管理(new与delete)