【发布时间】:2015-05-05 09:18:12
【问题描述】:
我有以下代码 sn-p :
ofile.open("New1.dat",ios::app|ios::binary|ios::ate);
long bytes = ofile.tellp()/sizeof(t);
cout<<ofile.tellp()<<endl; //line 1
t.input(bytes);
ofile.write((char *)&t,sizeof(t));
ofile.close();
当我删除 ios::app 或 ios::ate 时,line 1 的输出为 0,但是只有当它们在一起时,它们才会给出正确的文件位置。为什么会这样?
附言我知道 ios::app 和 ios::ate 之间的区别。
提前致谢!
【问题讨论】:
-
答案可能隐藏在这里:en.cppreference.com/w/cpp/io
标签: c++ file-handling