読み取り/書き込みで開かれたファイルの縮小
-
27-09-2019 - |
質問
Perl:
排他的ロックを備えた読み取り/書き込みでファイルを開いたファイルを持っています。
open( $f, "+< $filename" );
flock( $f, LOCK_EX );
以前に保持されていたよりも多くのデータをファイルに書き込むと、ファイルは成長します。
データを少なくすると、新しいコンテンツが最初にありますが、古いコンテンツはまだファイルの最後にあります。
これは驚くことではありませんが、私が望むものではありません。
ファイルが読み取り/書き込みで開かれている間に、ファイルを縮小する簡単な方法はありますか?基本的に、このバイト位置でファイルを終了するように伝えたいと思います。
私はそれを別の方法で開くことができることを知っています、そして私はそれをすることを考えていますが、1行の修正はいいでしょう。
解決
他のヒント
私は実際にPerlについては知りませんが、それ以来です ftruncate(2)
たぶんC関数になります これ 助けますか?
所属していません StackOverflow