質問

Perl:

排他的ロックを備えた読み取り/書き込みでファイルを開いたファイルを持っています。

open( $f, "+< $filename" );
flock( $f, LOCK_EX );

以前に保持されていたよりも多くのデータをファイルに書き込むと、ファイルは成長します。
データを少なくすると、新しいコンテンツが最初にありますが、古いコンテンツはまだファイルの最後にあります。

これは驚くことではありませんが、私が望むものではありません。

ファイルが読み取り/書き込みで開かれている間に、ファイルを縮小する簡単な方法はありますか?基本的に、このバイト位置でファイルを終了するように伝えたいと思います。

私はそれを別の方法で開くことができることを知っています、そして私はそれをすることを考えていますが、1行の修正はいいでしょう。

役に立ちましたか?

解決

他のヒント

私は実際にPerlについては知りませんが、それ以来です ftruncate(2) たぶんC関数になります これ 助けますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top