file di contrazione che è aperto nel lettura / scrittura
-
27-09-2019 - |
Domanda
in Perl:
Ho un file aperto in lettura / scrittura, con un blocco esclusivo.
open( $f, "+< $filename" );
flock( $f, LOCK_EX );
Se scrivo più dati da file di quanto precedentemente detenuta, il file crescerà.
Se scrivo meno dati, i miei nuovi contenuti sono agli inizi, ma i vecchi contenuti sono ancora lì alla fine del file.
Questo non è sorprendente, ma non è quello che voglio.
C'è un modo semplice per compattare il file mentre è aperto in lettura / scrittura? Fondamentalmente voglio dire a finire il file esattamente questa posizione di byte.
So che posso aprire in modo diverso, e sto pensando di fare questo, ma una correzione di una linea sarebbe bello.
Soluzione
Altri suggerimenti
Io in realtà non so su Perl, ma dal momento che ftruncate(2)
sarebbe la funzione C, forse questo aiuta?