Lecture et écriture d'un fichier texte avec Octave

Au cours de ce tutoriel, je vais vous guider pas à pas dans la lecture et l'écriture d'un fichier texte en utilisant Octave.

Création et écriture dans un nouveau fichier

Pour initier un nouveau fichier, faites appel à la fonction fopen(), en spécifiant le nom du fichier ainsi que le mode d'accès en écriture "w".

Par exemple :

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

Poursuivez en inscrivant deux lignes dans ce fichier grâce à la fonction fprintf()

>> fprintf(MyFile, "1 record \n");
>> fprintf(MyFile, "2 record \n");

Il est également envisageable d'utiliser la fonction fputs() pour réaliser cette opération

>> fputs(MyFile, "1 record \n");
>> fputs(MyFile, "2 record \n");

Le résultat obtenu reste identique dans les deux cas.

Note importante : Il est essentiel d'ajouter le symbole de nouvelle ligne \n à la fin de chaque chaîne pour assurer une bonne structuration du texte. Sans cela, la prochaine instruction printf() poursuivra l'écriture sur la même ligne.

Une fois votre écriture finalisée, n'oubliez pas de fermer le fichier à l'aide de la fonction fclose()

>> fclose(MyFile);

Procédure de lecture d'un fichier

Pour entamer la lecture d'un fichier texte, sollicitez la fonction fopen() en mentionnant le nom du fichier et le mode d'accès en lecture "r".

Associez ensuite le fichier à une variable, par exemple MyFile

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

Rappelez-vous que ce fichier renferme deux lignes distinctes.

Pour extraire une ligne du fichier, utilisez la commande fgetl()

>> fgetl(MyFile)

Cette commande vous dévoilera le contenu de la première ligne.

ans = 1 record

Pour accéder à la seconde ligne, réitérez simplement l'utilisation de la commande fgetl()

>> fgetl(MyFile)

Vous obtiendrez ainsi le contenu de la seconde et ultime ligne du fichier.

ans = 2 record

Si vous invoquez de nouveau la commande fgetl(), elle renverra -1, signifiant que vous avez atteint la fin du fichier.

>> fgetl(MyFile)

ans = -1

À la fin de votre lecture, veillez à bien fermer le fichier.

>> fclose(MyFile);

Lecture du fichier via une boucle

Il est également possible de parcourir le contenu du fichier en utilisant une structure de boucle, évitant ainsi de solliciter fgetl() à chaque étape

MyFile=fopen("test4.txt", "r");
eof=0;
while eof==0
rec =fgetl(MyFile)
if (rec==-1) eof=1; endif
end
fclose(MyFile)

Ajout de lignes à un fichier préexistant

Si vous souhaitez enrichir un fichier déjà existant, ouvrez-le en mode ajout en recourant à la fonction fopen() avec le mode d'accès 'a'.

Ainsi, pour accéder au fichier "test2.txt", qui contient déjà deux lignes

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

Ajoutez ensuite la nouvelle ligne souhaitée via la fonction fprintf() ou fputs().

>> fprintf(MyFile, "3 record \n");

Après avoir ajouté toutes les lignes nécessaires, clôturez le fichier en écriture grâce à la fonction fclose()

>> fclose(MyFile);

Votre fichier compte désormais trois lignes distinctes.

Modes d'accès aux fichiers

Outre les modes d'accès en lecture ('r') et en écriture ('w'), d'autres modes sont à votre disposition :

'r' = ouverture du fichier en mode lecture
'w' = création d'un nouveau fichier en mode écriture
'a' = ajout de lignes à la fin d'un fichier existant
'r+' = ouverture du fichier en modes lecture et écriture
'w+' = création d'un nouveau fichier en modes lecture et écriture
'a+' = ouverture du fichier en modes lecture et écriture, en se positionnant à la fin

Grâce à ce tutoriel, vous maîtrisez désormais les bases de la lecture et de l'écriture d'un fichier texte sous Octave.

 
 

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

FacebookTwitterLinkedinLinkedin

Fichiers dans Octave

FAQ