Усадочный файл, который открыт в чтении / записи

StackOverflow https://stackoverflow.com/questions/4251600

  •  27-09-2019
  •  | 
  •  

Вопрос

В Перл:

У меня есть файл, открытый в чтении / записи, с эксклюзивным замком.

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

Если я напишу больше данных в файл, чем ранее, файл будет расти.
Если я пишу меньше данных, мое новое содержимое в начале, но старое содержимое все еще там в конце файла.

Это не удивительно, однако это не то, что я хочу.

Есть ли простой способ уменьшить файл, пока он открыт в чтении / записи? В основном я хочу сказать ему, чтобы закончить файл в этом байтовом положении.

Я знаю, что я могу открыть это по-другому, и я думаю, что делать это, но одна строка была бы хорошей.

Это было полезно?

Решение

Другие советы

Я на самом деле не знаю о Perl, но так как ftruncate(2) будет функция C, может быть, это помогает?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top