2

ファイルの末尾を越えてシークしてから書き込みを行うとどうなりますか? 私がしたいのは、ファイルがシーク位置のサイズに自動的に拡張されることです。その場合、ディスクに何かを書き込むことによって、ファイルの古い終わりと新しい場所の間のスペースも埋めますか、それとも割り当てられたばかりのスペースですか。

ただし、ファイルを拡張しない場合、どうすればかなり効率的に達成できますか?

4

1 に答える 1

2

seekp()ファイルの終わりを過ぎてから書き込むことはまったく問題ありません。ファイルは実際に拡張されます。

ホールに割り当てられるディスク容量があるかどうかは、ファイルシステムによって異なります。一部のファイルシステム (例: ext3) は、スパース ファイルをサポートしていますが、サポートしていないものもあります。

于 2013-01-06T14:41:16.893 に答える