Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Cancellare il contenuto di un file
Forum - C/C++ - Cancellare il contenuto di un file

Avatar
ids (Normal User)
Newbie


Messaggi: 4
Iscritto: 27/09/2007

Segnala al moderatore
Postato alle 10:16
Giovedì, 27/09/2007
Sto scrivendo un programma in cui attraverso un ciclo while  scrivo in append dei dati su un file per elaborarli. Successivamente ho la necessità di cancellare completamente il contenuto del file e riscrivere altri dati sullo stesso.
Come faccio alla fine di ogni elaborazzione a cancellare il contenuto del file?
Grazie!

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 17:00
Giovedì, 27/09/2007
Non devi necessariamente cancellarlo ...

Con quali istruzioni lo apri attualmente (lavori con Windows, Linux ...)?

PM Quote
Avatar
ids (Normal User)
Newbie


Messaggi: 4
Iscritto: 27/09/2007

Segnala al moderatore
Postato alle 17:25
Giovedì, 27/09/2007
Innanzitutto grazie mille per la celere assistenza.
Lavoro col linux(Ubuntu).
Ho risolto in parte il problema aprendo il file in "w" piuttosto che in "a".
Adesso ho il problema che dopo un certo numero di volte che si apre e si chiude il file non riesce più ad aprirlo:
if((in=fopen("ingresso","wb"))==NULL){

           printf("Cannot open file <ingresso> \n");

           exit(1);

    }
cioè ad un certo punto si entra nell'if. E' un problema di memoria?
Grazie!

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 20:43
Giovedì, 27/09/2007
Ecco ... come ti dicevo ...

Probabilmente, in qualche caso, non hai chiuso il file e quindi non lo puoi riaprire ...

Bisognerebbe vedere tutto il codice ...

PM Quote
Avatar
java (Ex-Member)
Rookie


Messaggi: 38
Iscritto: 13/03/2007

Segnala al moderatore
Postato alle 19:05
Venerdì, 12/10/2007
normalmente quando si finisce di usare un file lo si chiude utilizzando la funzione fclose(FILE *). In alcuni casi questa operazione viene fatta automaticamente, in altri no quindi è sempre consigliabile farla.
Per cancellare il contenuto del file puoi tranquillamente crearne un altro con lo stesso nome.
Ciao

PM Quote
Avatar
ids (Normal User)
Newbie


Messaggi: 4
Iscritto: 27/09/2007

Segnala al moderatore
Postato alle 15:46
Sabato, 13/10/2007
Grazie mille.
Con i vostri consigli sono riuscito a risolvere il problema.
Grazie a tutti.
ids

PM Quote