Усадочный файл, который открыт в чтении / записи
-
27-09-2019 - |
Вопрос
В Перл:
У меня есть файл, открытый в чтении / записи, с эксклюзивным замком.
open( $f, "+< $filename" );
flock( $f, LOCK_EX );
Если я напишу больше данных в файл, чем ранее, файл будет расти.
Если я пишу меньше данных, мое новое содержимое в начале, но старое содержимое все еще там в конце файла.
Это не удивительно, однако это не то, что я хочу.
Есть ли простой способ уменьшить файл, пока он открыт в чтении / записи? В основном я хочу сказать ему, чтобы закончить файл в этом байтовом положении.
Я знаю, что я могу открыть это по-другому, и я думаю, что делать это, но одна строка была бы хорошей.
Решение
Другие советы
Я на самом деле не знаю о Perl, но так как ftruncate(2)
будет функция C, может быть, это помогает?
Не связан с StackOverflow