Laboratorio di programmazione

Esercizio 5

Per scaricare il file sorgente di questo esercizio clicca qui
Per scaricare il file eseguibile di questo esercizio clicca qui

In questo esercizio si vede come scrivere su un file di testo e come leggere su un file di testo, quindi l' Input e Output su file.

Sono dichiarati alcuni array e successivamente dei puntatori a FILE che è una struttura dichiarata in <stdio>. I membri della struttura sono sfruttati dal programma nelle operazioni di accesso al file, ma il programmatore può disinteressarsene. Basti sapere che per ogni file che si intende aprire si deve dichiarare un puntatore a FILE. Tutte le operazioni seguenti si servono di questo puntatore. Prima di tutto il file va aperto:

Apriamo il file con la funzione fopen, indicando con "w" che il file è aperto in scrittura (se il file non esiste viene creato, se esiste viene sovrascritto). La chiamata fopen provoca la creazione di un esemplare di FILE , e restituisce un puntatore a quel file che noi assegniamo a file_out. Con un costrutto di controllo if-else controlliamo che non siano stati errori nell' aprire il file. Ora posso scrivere nel file che ho appena aperto con la funzione fpirintf in questo modo:

In fine il file va chiuso con la funzione fclose, e si noti che il file viene sempre richiamato attraverso il suo puntatore file_out.

Anche in questo caso con un costrutto if-else controlliamo che non ci siano stati errori. Ora apriamo in lettura "r" il file che abbiamo appena creato:

A questo punto, verificando che il file esista (esiste sicuramente visto che l' abbiamo creato noi) leggiamo ciò che abbiamo scritto in precedenza sul file.txt

Con la funzione fscanf leggiamo il contenuto del file e più precisamente la prima parola scritta nel file e la memorizziamo nell' array frasel. Poi leggiamo la seconda parola e la memorizziamo nell' array frasell. Dopo aver chiuso il file stampiamo le due parole appena lette:























































Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.