Ben ritrovati iTechnoFans, in questa guida vi spiegheremo, come promesso, le varie modalità di apertura di un File di testo, e alcune funzioni di lettura/scrittura.
Ebbene si, un file di testo può essere aperto in varie modalità:
- Crea in modalità scrittura: w
- Apre in modalità lettura: r
- Apre in modalità append (possibilità di aggiungere ulteriori dati senza che quelli pre-esistenti vengano eliminati): a
- Apre in modalità letturascrittura: r+
- Crea in modalità letturascrittura: w+
Quindi in breve, se vorremo creare un file di testo in scrittura, l’istruzione sarà:
nome=fopen(“NomeFisico.txt”,”w”);
Se invece vorremo aprirlo in lettura:
nome=fopen(“NomeFisico.txt”,”r”);
Vediamo ora alcune istruzioni di lettura/scrittura:
Funzioni per leggere da file:
fscanf(nomefile,”%c”,&carattere);
fprintf(nomefile,”%c”,carattere);
Queste funzioni consentono di leggere o scrivere un dato (o più), specificando il tipo di dato appunto da leggere/scrivere.
Parametri:
- nome file: nome logico del file;
- “%c”: indica il tipo di carattere che andiamo a leggere, e in questo caso si tratta di un carattere
- &carattere: è il nome della variabile (di tipo char). La & serve per passare alla funzione l’indirizzo della variabile a cui si fa riferimento. Questa la si usa solo nella funzione di lettura perchè si trasferiscono una serie di dati da memoria di massa a memoria centrale, e la funzione necessita dell’indirizzo di memoria della variabile. Vedetela un po’ come un limite della funzione.
fgets(stringa,10,nomelogico)
fputs(stringa,nomelogico)
Questa funzione consente di leggere o scrivere una stringa da/su file.
Parametri:
- nome della stringa da leggere;
- Lunghezza della stringa da leggere; (nel caso della fgets)
- nome logico del file;
carattere=fgetc(nomelogico)
fputc(carattere,nomelogico)
Questa funzione consente di leggere un singolo carattere dal file
Parametri:
- carattere: nel caso della fgets rappresenta la variabile all’interno della quale finirà il carattere letto, mentre nel caso della fputs, è la variabile da cui la funzione attingerà il carattere da scrivere;
- nomelogico: nome logico del file;
Ecco l’esempio di una semplice funzione che legge 10 numeri fa file, e ne calcola la somma, restituendola in uscita.