这是一段书上的例子#include <fstream.h>#include <iostream.h>main(){fstream f("0327.txt",ios::in|ios::out|ios::binary);int i;for(i=0;i<20;i++)f.write((char *)&i,sizeof(int));streampos pos=f.tellp();for(i=20;i<40;i++) f.write((char *)&i,sizeof(int));f.seekg(pos);f.read((char *)&i,sizeof(int));cout<<"The data stored is "<<i<<endl;} 书上给出的结果是打出 The data stored is 20,但是我实际跑出的结果是The data stored is 40.不知道是哪里出的问题,请问这个是例子出错么?
2 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
读文件时 fstream.open() 函数调用时需要用到 ios::out 标志位。
你代码中
outFile.open("Manager.txt",ios::in|ios::binary);
应该改为:
outFile.open("Manager.txt",ios::in|ios::binary|ios::out);
添加回答
举报
0/150
提交
取消