[C] Comando per pulire un file ogni volta che lo si apre [R]

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
FranxT
Prode Principiante
Messaggi: 32
Iscrizione: martedì 11 settembre 2012, 12:25
Desktop: ubuntu
Distribuzione: Ubuntu 12.04.1 LTS

[C] Comando per pulire un file ogni volta che lo si apre [R]

Messaggio da FranxT »

Salve a tutti

Sto scrivendo un programma in C che scrive delle colonne di dati su numerosi file ogni volta che viene eseguito.
Ogni volta che lo eseguo, però, aggiunge i nuovi dati al file senza cancellare quelli relativi all'esecuzione precedente, mentre io vorrei che ogni volta i file contenessero solo i dati relativi all'ultima esecuzione.
Conoscete un comando che permette di rendere il file vuoto, insomma di ripulirlo, in modo che ad ogni esecuzione il programma prima resetti il file e poi ci scriva sopra?

Vi ringrazio!
Ultima modifica di FranxT il martedì 20 maggio 2014, 13:41, modificato 1 volta in totale.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [C] Comando per pulire un file ogni volta che lo si apre

Messaggio da Zoff »

Con che flag invochi la fopen?
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
FranxT
Prode Principiante
Messaggi: 32
Iscrizione: martedì 11 settembre 2012, 12:25
Desktop: ubuntu
Distribuzione: Ubuntu 12.04.1 LTS

Re: [C] Comando per pulire un file ogni volta che lo si apre

Messaggio da FranxT »

Per aprire il file scrivo

FILE *nomefile;
nomefile=fopen("nomefile","r+");
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [C] Comando per pulire un file ogni volta che lo si apre

Messaggio da Zoff »

In scrittura intendevo.
Comunque basta togliere il +
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
FranxT
Prode Principiante
Messaggi: 32
Iscrizione: martedì 11 settembre 2012, 12:25
Desktop: ubuntu
Distribuzione: Ubuntu 12.04.1 LTS

Re: [C] Comando per pulire un file ogni volta che lo si apre

Messaggio da FranxT »

Scusami se tolgo il + mi apre il file in sola lettura, e io invece devo scriverci sopra.
Intendevi che dovrei scrivere solo "w"?

Comunque quando scrivo su file uso il comando

fprintf(nomefile, "stringa", variabili);
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [C] Comando per pulire un file ogni volta che lo si apre

Messaggio da Zoff »

Si, scrivi solo w
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
vbextreme
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1214
Iscrizione: domenica 12 gennaio 2014, 14:06
Desktop: lxde
Distribuzione: xubuntu 14.10

Re: [C] Comando per pulire un file ogni volta che lo si apre

Messaggio da vbextreme »

ma sarà w+ se ha usato r+ prima!
Easy framework per il linguaggio C.
vbextreme hack your life
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [C] Comando per pulire un file ogni volta che lo si apre

Messaggio da Zoff »

Che scelga quello che gli è piu' congeniale secondo la documentazione:
http://www.cplusplus.com/reference/cstd ... parameters

L'utente non ha mai parlato di lettura quindi mi è sembrato ovvio suggerire w.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
FranxT
Prode Principiante
Messaggi: 32
Iscrizione: martedì 11 settembre 2012, 12:25
Desktop: ubuntu
Distribuzione: Ubuntu 12.04.1 LTS

Re: [C] Comando per pulire un file ogni volta che lo si apre

Messaggio da FranxT »

No infatti non devo leggerli, devo solo scrivere su più file. Tra l'altro credo che r+ sia uguale a w+.....permettono entrambi lettura e scrittura.
Ho provato solo con w e sembra che faccia quello che voglio.
Magari, dopo aver provato qualche altra volta, aggiungo "risolto" nel titolo della discussione.

Grazie mille!
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [C] Comando per pulire un file ogni volta che lo si apre

Messaggio da Zoff »

r+ non è uguale a w+, r+ non cancella il contenuto.
tanto tanto r+ è simile a a+, entrambi leggono e scrivono e conservano il contenuto, solo che r+ inizia a scrivere dall'inizio del file, a+ dalla fine.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
FranxT
Prode Principiante
Messaggi: 32
Iscrizione: martedì 11 settembre 2012, 12:25
Desktop: ubuntu
Distribuzione: Ubuntu 12.04.1 LTS

Re: [C] Comando per pulire un file ogni volta che lo si apre

Messaggio da FranxT »

Grazie anche del chiarimento finale!
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti