私はfstream
オブジェクトを扱っていますが、eof と目的の場所の間のスペースをゼロで手動で埋めることなく、ファイルの末尾を超えて何かを書き込むことができる方法を知りたいと思っていました。
例 :
fstream someFile;
someFile.open("foo.dat", ios :: out | ios :: trunc | ios :: binary); // file is created, and empty
someFile.seekp(100, ios :: beg); // expecting 100 zeroes to be written in file, but nothing happens
someFile.write("yodelay-hee-hoo", 15); // file is still empty, does not work
この問題について約 1 時間検索してきましたが、関連性の高いものは見つかりませんでした。私が遭遇した唯一のことは、.seekp
withを使用するios :: end
とギャップをゼロで埋めることになっていると言った人ですが、試してみましたが、うまくいきませんでした。
それが役立つ場合、私はVS2010、ネイティブコンパイルを使用しています。ヒントを提供できれば、ありがとうございます。