我试图打开一个二进制文件进行写入而不擦除内容。但我不想写信给eof。我想写入文件中的特定位置。写入到现有的二进制文件的中间C++
这里是豆蔻例如:
ofstream out("test.txt", ios::binary | ios::app);
for(int i = 0; i < 100; i++)
out.put('_');
out.write("Hallo", 5);
out.close();
ofstream out2("test.txt", ios::binary | ios::app);
out2.seekp(10);
out2.write("Welt", 4);
out2.close();
如果使用的应用程序,寻求不起作用。如果没有使用应用程序打开文件擦除数据。有人知道答案吗?
我刚试过out2.seekp(10,ios_base :: beg);.这并没有改变任何东西。 –
它不应该擦除文件,除非你指定ios :: trunc – crashmstr
@crashmstr,你是对的。我正在删除我的评论。 –