Gestione File: differenze tra le versioni
(→Lettura e scrittura formattata) |
(→Scrittura su file) |
||
Riga 58: | Riga 58: | ||
<code>fprintf(''fileID'', ''formatSpec'', ''A1'', ..., ''An'')</code> | <code>fprintf(''fileID'', ''formatSpec'', ''A1'', ..., ''An'')</code> | ||
</div> | </div> | ||
− | La funzione ''fprintf'' scrive sul file indicato da ''fileID'' i dati contenuti negli elementi ''A1, ..., An'' formattato secondo ''formatSpec''. Studiando la documentazione relativa alla funzione [https://it.mathworks.com/help/matlab/ref/fprintf.html fprintf] | + | La funzione ''fprintf'' scrive sul file indicato da ''fileID'' i dati contenuti negli elementi ''A1, ..., An'' formattato secondo ''formatSpec''. Studiando la documentazione relativa alla funzione [https://it.mathworks.com/help/matlab/ref/fprintf.html fprintf] è possibile notare che esistono una moltitudine di operatori di formattazione. Tra i più comuni ci sono i seguenti: |
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Operatore | ||
+ | ! Descrizione | ||
+ | |- | ||
+ | | %d (o %i) | ||
+ | | Intero con segno | ||
+ | |- | ||
+ | | %f | ||
+ | | Numero in virgola mobile | ||
+ | |- | ||
+ | | %c (%s) | ||
+ | | Singolo carattere (Stringhe) | ||
+ | |} |
Versione delle 11:51, 2 dic 2016
Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it
Antonio Brunetti antonio.brunetti@poliba.it
Sommario. Il presente paragrafo si riferisce alle lezioni del I Modulo di Informatica : Fondamenti di Informatica per il nuovo corso di laurea triennale in Ingegneria dei Sistemi Medicali del Dipartimento di Ingegneria Elettrica e dell'Informazione del Politecnico di Bari.
Parole chiave: Input/Output, File di testo, File Binari.
ATTENZIONE !!! - PAGINA IN ALLESTIMENTO
Introduzione
La lettura da tastiera, cosi come la stampa a video, non sono gli unici modi di gestire l'input/output in Matlab. Infatti, analogamente alle funzioni precedenti, esistono dei metodi che permettono la la scrittura e la lettura sui files. Il sistema di input/output del Matlab, cosi come molti altri linguaggi di programmazione (p.e. il C) fornisce un’interfaccia indipendente dal particolare dispositivo su cui viene eseguito l’accesso, poiché questo è associato ad un flusso di informazioni (stream).
Esistono due tipi di flussi che si comportano allo stesso modo:
- flussi di testo - sequenze di caratteri;
- flussi binari - una sequenze di byte con corrispondenza uno ad uno con quelli della periferica esterna.
Apertura di un file
L'operazione di apertura di un file, senza la quale non sarebbe possibile effettuare le altre operazioni, consente di accedervi e di associare ad esso uno specifico riferimento (o handle). Per poter utilizzare un file, quindi aprirlo, si utilizza la funzione fopen la cui sintassi è la seguente:
fileID = fopen(filename,permission)
dove fileID è il riferimento al file restituito dalla funzione fopen (-1 se l'operazione di apertura non va a buon fine), filename è la stringa contenente il nome (percorso) del file da leggere/scrivere, mentre permission permette di definire la modalità di accesso al file. Tutte le specifiche si trovano nella documentazione della funzione fopen; di seguito sono riportate le modalità più comuni di accesso al file.
permission | descrizione |
---|---|
'r' | Apertura del file in modalità lettura. |
'w' | Apertura del file in modalità scrittura. Se il file non esiste, viene creato; se il già file esiste, il suo contenuto viene perso. |
'a' | Apertura del file in modalità append. I dati inseriti vengono aggiunti a quelli già all'interno del file. |
'r+' | Apre il file in modalità lettura, ma consente anche operazioni di scrittura. |
'w+' | Apre il file in modalità scrittura, ma consente anche operazioni di lettura. |
'a+' | Apre il file in modalità append, ma consente anche operazioni di lettura. |
Lettura e scrittura formattata
Una volta aperto il file con la funzione fopen, avendo cura di scegliere la modalità opportuna, è possibile accedervi attraverso le seguenti funzioni:
- fprintf per scrivere sul file;
- fscanf per leggere da file.
Scrittura su file
fprintf(fileID, formatSpec, A1, ..., An)
La funzione fprintf scrive sul file indicato da fileID i dati contenuti negli elementi A1, ..., An formattato secondo formatSpec. Studiando la documentazione relativa alla funzione fprintf è possibile notare che esistono una moltitudine di operatori di formattazione. Tra i più comuni ci sono i seguenti:
Operatore | Descrizione |
---|---|
%d (o %i) | Intero con segno |
%f | Numero in virgola mobile |
%c (%s) | Singolo carattere (Stringhe) |