怎样修改文件中的一条记录
A B ;//A类定义了一个B对象
ifstream fh( "test.txt ",ios::in);
fh.seekg(pos*sizeof(B),ios::beg);//定位到POS位置
fh.read((char *)&B,sizeof(B));//开始读下一条记录
fh.close();
B.repairdate();//B的一个方法修改了一些B的数据
fstream fh1( "test.txt ",ios::app);
fh1.seekg(pos*sizeof(B),ios::beg);
fh1.write((char *)&B,sizeof(B));
fh1.close();
我的目的是修改POS位置的下一条记录,但结果是新添加了一条记录,请问怎么改哦?
[解决办法]
其实用fstream构造的话不用ios::in|ios::out因为默认就是这个模式。
你用同一个流的话记得读写前要显式刷新缓冲区。还是用不同的好……