水木社区手机版
首页
|版面-C++程序设计语言(CPlusPlus)|
新版wap站已上线
返回
1/1
|
转到
主题:用fstream保存二进制文件,有时候是0kB
11楼
|
Akyrum
|
2020-10-29 13:14:08
|
展开
1)建议binary别和out或在一起,reinterpret_cast<char*>(data)指向的char有\0\r\n会爆例外
2)建议用tellp获取写了几个char
【 在 bestday 的大作中提到: 】
: int save1d(const char* fn, float* data, int nx)
: {
: fstream of(fn, ios::out | ios::binary);
: ...................
--
FROM 211.103.82.*
13楼
|
Akyrum
|
2020-10-29 18:25:27
|
展开
这个坑我踩过,微软实现的ofstream确实会把\n改成\r\n
https://docs.microsoft.com/en-us/cpp/standard-library/binary-output-files
有个版本的vs(好像是2005?)write\0也会加
【 在 z16166 的大作中提到: 】
: 其实有个常识: 不要轻易怀疑标准库函数, 而是先怀疑自己的代码再说.
: 标准库函数有bug也是可能的, 但比自己的代码有bug/误用的概率低很多.
:
--
FROM 117.136.44.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版