最近在捣鼓从邮箱拉取数据并下载邮件附件的内容到本地的活儿,记录一下遇到的问题。

获取到附件数据后,最开始将数据写入本地文件夹的代码如下:

ofstream写出的文件打不开或乱码的解决

运行完成后查看写好的excel文件,显示文件已损坏

ofstream写出的文件打不开或乱码的解决

通过beyond compare打开此文件和源文件比较:

ofstream写出的文件打不开或乱码的解决

原来新写的文件比源文件多了很多‘0D’,原来ostream写文件如果没有标记ios::binary方式写入,碰到换行符(0x0A),编译器会自动转换为回车换行符(0x0D 0x0A)然后再写入文件,改成以二进制的方式写入后就OK了。

ofstream写出的文件打不开或乱码的解决

相关文章:

  • 2021-09-26
  • 2021-06-08
  • 2021-07-16
  • 2022-12-23
  • 2021-12-06
  • 2022-12-23
猜你喜欢
  • 2021-12-24
  • 2021-08-14
  • 2021-12-12
  • 2021-08-14
  • 2021-12-25
  • 2021-12-11
相关资源
相似解决方案