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

修改文件数据中出现的有关问题

2012-03-23 
修改文件数据中出现的问题int main(){ofstream out(1.b, ios::binary | ios::out)char z 250int c

修改文件数据中出现的问题
int main()
{
  ofstream out("1.b", ios::binary | ios::out);
  char z = 250;
  int c = 100;
  cout<<hex;
  out.seekp(5, ios::beg);
  out.write((char *)&c, 1);
  cout<<z<<endl;
  out.close();
}

其实我是想修改这个文件中的一个数据的,可是执行后,0x0006地址前的数据变为“00”了,而往后的数据没有了……
请问我应该怎么做

[解决办法]
这样的操作时覆盖操作,必须保证覆盖前的字符后覆盖后的字符数目、位置完全一致
[解决办法]
不是这样修改的 需要加载文件全部数据 修改后 再全部写回去
小文件可以这样
大文件需要内存映射啦

热点排行