La funzione fopen in Matlab

MATLAB

La funzione fopen in Matlab, apre un flusso di comunicazione con il file il cui nome viene specificato all’interno delle parentesi tonde, tale nome può contenere il percorso nell’albero delle directory, nel caso venga omesso si assume che il file si trovi nella directory di lavoro la cosiddetta work.

La sintassi del comando è la seguente:

[fid, msg] = fopen(nome file, modalità di apertura)

dove fid e la variabile che identi ca il fi le, legge tutti i dati contenuti nel fi le identi cato da fid, convertendoli in base al formato speci cato. Si possono specificare anche percorsi relativi rispetto alla directory di lavoro. Se il file non esiste ed esso viene aperto in modalità “w” allora il file viene creato.

Nel caso il flusso di comunicazione non venga aperto allora Matlab restituisce il valore -1 ed un messaggio di errore che ci comunica che qualcosa è andato storto; in tal caso si potrà verificare che:

il file che deve essere aperto in lettura non esiste

si  è verificato un errore nell’interazione con il supporto di memorizzazione su cui il file risiede

L’istruzione segunete:

fopen(‘all’)

restituisce un vettore riga che contiene gli ID di tutti i file aperti dal programma.

Vediamo infine il significato di una serie di parametri che possono essere utilizzati con la funzione fopen in Matlab:

  • “r”: apre un file esistente in lettura
  • “w”: apre un file esistente (con distruzione di quanto in esso già presente) o crea un nuovo file in scrittura
  • “a”: apre un file esistente o crea un nuovo file in scrittura con posizionamento alla fine del file. Quanto già presente nel file viene mantenuto
  • “rt”: come “r” ma in modalità testuale
  • “wt”: come “w” ma in modalità testuale
  • “at”: come “a” ma in modalità testuale
  • “r+” e ”rt+”: come “r”/”rt” ma si può anche scrivere nel file
  • “w+” e “wt+”: come “w”/”wt” ma si può anche leggere dal file
  • “a+” e “at+”: come “a”/”at” ma si può anche leggere dal file

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Leave a Reply

Your email address will not be published. Required fields are marked *