Créer et lire des fichiers rexte avec Matlab

Ce tutoriel clair et concis vous guidera dans le processus d'ouverture, de création et de lecture de fichiers texte avec Matlab.

Comment créer un nouveau fichier 

Pour créer un fichier texte, il vous suffit d'utiliser la fonction fopen().

Entrez simplement le nom du fichier texte et le mode d'accès en écriture "w" entre les parenthèses, de cette manière :

>> MyFile=fopen("test2.txt", "w");

La variable MyFile sert d'identifiant pratique pour manipuler le fichier dans le script sans avoir à répéter son nom.

Passons à présent à l'écriture de deux entrées dans le fichier avec la fonction fprintf().

>> fprintf(MyFile, "1er enregistrement \n");
>> fprintf(MyFile, "2e enregistrement \n");

Conseil rapide : L'ajout du symbole \n (nouvelle ligne) à la fin de chaque entrée indique à Matlab de commencer une nouvelle ligne, créant ainsi une nouvelle entrée. Sans le symbole \n, les instructions fprint() ou fput() suivantes continueront sur la même ligne.

Une fois l'écriture terminée, n'oubliez pas de fermer le fichier avec la fonction fclose().

>> fclose(MyFile);

Lire un fichier

Lire le contenu d'un fichier texte est très simple. Utilisez la fonction fopen(), en précisant le nom du fichier et l'attribut "r" (lecture) entre les parenthèses :

>> MyFile=fopen("test2.txt", "r");

La variable MyFile est alors un outil commode pour réaliser des opérations sur le fichier. Vous pouvez la nommer à votre guise.

Ensuite, la fonction fgetl() vous permet de lire une entrée du fichier.

>> fgetl(MyFile)

Cette commande lit le contenu de la première entrée.

ans = 1er enregistrement

Pour lire la seconde entrée, il suffit de réutiliser la fonction fgetl().

>> fgetl(MyFile)

La fonction lira alors la seconde entrée, la première ayant déjà été traitée.

ans = 2e enregistrement

Quand la fonction fgetl() arrive à la fin du fichier, elle renvoie -1.

Par exemple, en exécutant la fonction fgetl() une troisième fois,

>> fgetl(MyFile)

elle renverra -1, car il n'y a que deux entrées dans le fichier, déjà lues.

ans = -1

Après avoir achevé la lecture, n'oubliez pas de fermer le fichier avec fclose().

>> fclose(MyFile);

Lecture d'un fichier en boucle

Pour lire un fichier du début à la fin, l'utilisation d'une boucle est recommandée.

Cela vous évite de devoir répéter la commande fgetl() pour lire chaque entrée individuellement.

MyFile=fopen("test4.txt", "r");
eof=0;
tant que eof == 0
rec = fgetl(MyFile)
si rec == -1 alors eof=1; fin si
fin
fclose(MyFile)

Ajouter des enregistrements à un fichier existant

Vous souhaitez ajouter de nouvelles entrées à un fichier existant sans supprimer le contenu actuel ? C'est tout à fait possible ! Ouvrez-le en mode d'ajout.

Par exemple, pour ouvrir le fichier "test2.txt" en mode 'a' (ajout), utilisez la fonction fopen() :

>> MyFile=fopen("test2.txt", "a");

Le fichier contient déjà deux entrées :

1er enregistrement
2e enregistrement

Ajoutez maintenant une nouvelle entrée avec la fonction fprintf() ou fputs().

>> fprintf(MyFile, "3e enregistrement \n");

Conseil : Pour ajouter d'autres entrées, continuez à utiliser la fonction fprint(), en suivant l'exemple donné ci-dessus.

Une fois vos ajouts terminés, n'oubliez pas de fermer le fichier avec fclose().

>> fclose(MyFile);

Votre fichier comporte désormais trois entrées.

1er enregistrement
2e enregistrement
3e enregistrement

Excellent travail ! Matlab a permis d'ajouter une nouvelle entrée sans écraser les enregistrements existants dans le fichier.

Modes d'accès aux fichiers

Plusieurs modes d'accès aux fichiers sont à votre disposition :

r = ouverture du fichier pour lecture
w = création d'un nouveau fichier pour écriture
a = ajout d'entrées à un fichier existant, sans effacer le contenu actuel
r+ = ouverture d'un fichier pour lecture et écriture
w+ = création d'un nouveau fichier pour lecture et écriture
a+ = ouverture d'un fichier pour lecture et écriture à la fin du fichier

Vous êtes maintenant prêt à débuter la lecture ou l'écriture de fichiers texte avec Matlab. Bonne programmation !

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Fichiers Matlab

Lecture et écriture