- 主题:用fstream保存二进制文件,有时候是0kB
有谁遇到过这种情况吗?
--
FROM 116.236.22.*
flush()一下?可能是缓冲区没写入
--
FROM 210.45.77.*
【 在 bestday 的大作中提到: 】
: 有谁遇到过这种情况吗?
不行吧,得fwrite(),流函数不支持二进制。
--
FROM 221.221.51.*
谢谢,我试试看。
【 在 xenapior 的大作中提到: 】
: flush()一下?可能是缓冲区没写入
--
FROM 116.236.22.*
我是同一个写文件的函数,在不同的部分调用,有的可以写出来,有的写不出来。
【 在 ylh1969 的大作中提到: 】
: 不行吧,得fwrite(),流函数不支持二进制。
--
FROM 116.236.22.*
发呆码
--
FROM 120.236.76.*
【 在 bestday 的大作中提到: 】
: 我是同一个写文件的函数,在不同的部分调用,有的可以写出来,有的写不出来。
遇尾0结束。
--
FROM 221.221.51.*
有二进制的选项 ios::binary
【 在 ylh1969 的大作中提到: 】
: 不行吧,得fwrite(),流函数不支持二进制。
--
FROM 123.115.134.*
int save1d(const char* fn, float* data, int nx)
{
fstream of(fn, ios::out | ios::binary);
if (!of)
{
cout << "Cannot open file " << fn << endl;
exit(EXIT_FAILURE);
return -1;
}
of.write(reinterpret_cast<char*>(data), sizeof(float) * nx);
cout <<"Data is saved in "<< fn <<" with size "<<nx << endl;
of.flush();
of.close();
return 0;
}
【 在 haiguimm 的大作中提到: 】
: 发呆码
--
FROM 116.236.22.*
看起来没事,也许是NX=0? data指针为空?
【 在 bestday 的大作中提到: 】
: int save1d(const char* fn, float* data, int nx)
: {
: fstream of(fn, ios::out | ios::binary);
: ...................
--
FROM 120.236.76.*