缩小以读/写方式打开的文件

时间:2010-11-23 00:22:07

标签: perl file-io readwritelock

在perl:

我有一个以读/写方式打开的文件,带有一个独占锁。

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

如果我向文件写入的数据多于以前保存的数据,文件将会增长 如果我写的数据较少,我的新内容就在开头,但旧内容仍然在文件的末尾。

这并不奇怪,但这不是我想要的。

在读/写中打开文件时是否有一种简单的方法来缩小文件?基本上我想告诉它在这个字节位置结束文件。

我知道我可以用不同的方式打开它,而我正在考虑这样做,但一线修复会很好。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

我实际上不了解perl,但由于ftruncate(2)是C函数,可能this有帮助吗?