ofstream奇怪问题解决方法

ofstream奇怪问题解决方法

最近使用ofstream写数据到文件中出现了一些奇怪的问题,发现有时候写入的数据和原始数据不一致,经过观察发现,有些地方多了0D这个东西,查字符 表得知是回车符。因此得知可能是自动插入了回车换行。而且每个0D都在0A前面,这样更加表明ofstream确实会自动在0A前加入0D以表示win下 的回车换行。

解决方法就是使用二进制方式写入,默认是字节流得方式。如下:

std::ofstream out(filename,std::ios::binary);
这样再使用
out.write((const char*)pdata,databytes);

写入数据就没有问题了。

你可能感兴趣的:(Stream)