2

在 perl 中:

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

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

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

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

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

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

4

2 回答 2

1

truncate

于 2010-11-23T00:24:14.567 回答
1

我实际上不了解 perl,但既然ftruncate(2)是 C 函数,也许有帮助?

于 2010-11-23T00:25:19.003 回答