题
在perl的:
我有一个文件在读/写打开,一个排他锁。
open( $f, "+< $filename" );
flock( $f, LOCK_EX );
如果我写更多的数据比它以前持有的文件,该文件会越来越大。结果 如果我写更少的数据,我的新内容是在开始,但旧的内容仍然存在在文件的结尾。
这并不奇怪,但是这不是我想要的。
有没有一种简单的方法,而它在读/写打开收缩文件?基本上,我想要告诉它结束文件在此确切字节位置。
我知道我可以不同,打开它,我考虑这样做,但一个行的解决将是很好的。
解决方案
其他提示
其实我不知道perl的,但由于ftruncate(2)
将是C函数,也许这有助于?
不隶属于 StackOverflow