Pagina 1 di 1
C++ come faccio a cancellare un file se vuoto?
Inviato: dom 12 giu 2005, 16:17
da Almucantarat
Ciao, volevo sapere come posso fare a cancellare un file se questo è vuoto (e solo in questo caso)
Grazie
Inviato: lun 13 giu 2005, 0:16
da useless
basta che trovi il filesize, e se questo è == 0, chiami remove (o unlink) sul file. non conosco le classi del c++ x fare questo, ma in c puoi fare (anche se è un mezzo hack):
if (fp = fopen ("antani", "r")) {
fseek (fp, SEEK_END, 0);
size = ftell (fp);
fclose (fp);
if (size == 0)
remove ("antani");
}
al posto del truschino fseek/ftell puoi direttamente usare la syscall stat x ottenere il filesize.
Inviato: mar 14 giu 2005, 12:45
da Almucantarat
grazie!
ho provato ad aggiungere il codice al programma, ma ho in ritorno i seguenti errori:
`fp' undeclared (first use this function)
assignment of read-only variable `size'
come li elimino?
Inviato: mar 14 giu 2005, 13:22
da useless
be', dovresti provare a capire cosa succede, invece di copiare ciecamente.
fp e size vanno dichiarati, rispettivamente come:
FILE *fp;
unsigned long int size; (o qualcosa di simile);
tra l'altro forse devi cambiare nome a size, fai delle prove.
Inviato: mar 14 giu 2005, 16:01
da Almucantarat
ok, grazie!