Exood4 Studio - Video Game Development, Toulouse (France)
Exood4 Studios Exood4 Tutorials

   
L a n g a g e   C

L e s   e n t r é e s / s o r t i e s






 Tout ce qui concerne les entrées/sorties relève de la librairie standard et non du langage. Les entrées/sorties ont pour support les flux, dont le type FILE, est défini dans le fichier stdio.h. FILE est un nom de typedef correspondant à une structure dont les champs (tampon, caractère courant, nom de flux ...) sont utilisés par les fonctions d'entrées/sorties.


Les flux prédéfinis


 Il existe Trois flux prédéfinis : stdin, stdout et stderr, qui sont respectivement l'entrée standard, la sortie standard et la sortie d'erreur standard. Au lancement du programme, le système d'exploitation associe à ces flux des fichiers ou des périphériques. Les affectations par défaut sont le clavier pour le flux stdin et l'écran pour les flux stdout et stderr, mais elles peuvent être modifiées par des redirections.


Les fonctions d'entrées/sorties


  • Les fonctions de lecture getchar, gets et scanf lisent leurs données sur stdin.

  • Les fonctions getc, fgets et fscanf sont respectivement similaires, si ce n'est qu'elles nécessitent un autre paramètre de type FILE * qui est le flux d'entrée des données lues.

  • Les fonctions d'écriture putchar, puts et printf écrivent leurs données sur le flux stdout.

  • Les fonctions putc, fputs et fprintf sont respectivement similaires, si ce n'est qu'elles nécessitent un autre paramètre de type FILE * qui est le flux de sortie des données écrites.

  • Les fonctions fread et fwrite permettent, quant à elles, de lire et d'écrire des blocs.

  • La fonction fseek déplace le pointeur de flux à une position donnée et la fonction ftell indique quelle est la position courante du pointeur.


Utilisation des flux


 Après avoir déclaré une variable de type FILE *, il faut l'associer à une entité physique du système (fichier, périphérique ...).

 C'est le rôle de la fonction fopen, dont la valeur de retour permet de savoir si l'opération s'est effectuée correctement. Le flux peut alors être utilisé jusqu'à sa libération par la fonction fclose. Lors d'une lecture, la fin de flux peut être détectée soit par la valeur de retour des fonctions de lecture, soit par la fonction feof.


Exemple :

FILE f; /* variable de flux */
int i = 0, lu;

f = fopen ("ESSAI.DAT","r"); /* overture de flux */

do
{
 lu = fread (tab[i], TAILLE, NB, f); /* lecture de NB blocs */
 i++;
} while (lu == NB); /* ou while (!feof(f)) */

fclose(f); /* fermeture du flux */


Téléchargez l'exemple


  Retour en haut de page Page suivante