コンテンツを消去せずに書き込み用にバイナリファイルを開こうとしています。しかし、私は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を指定しない限り、ファイルを消去するべきではありません。私は私のコメントを削除しています。 –