首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

怎样修改文件中的一条记录解决思路

2012-03-02 
怎样修改文件中的一条记录AB//A类定义了一个B对象ifstreamfh( test.txt ,ios::in)fh.seekg(pos*sizeof

怎样修改文件中的一条记录
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因为默认就是这个模式。
你用同一个流的话记得读写前要显式刷新缓冲区。还是用不同的好……

热点排行