I. Entrée / Sortie
1. Concepts Fondamentaux
Types d'E/S
- Flux standards :
- stdin (0) : Entrée standard
- stdout (1) : Sortie standard
- stderr (2) : Sortie d'erreur
- Fichiers : Via descripteurs de fichier
Descripteur de fichier
un descripteur de fichier (file descriptor en anglais) est une clé abstraite pour accéder à un fichier
Niveaux d'abstraction
- Haut niveau (LIBC)
- Indépendant du système d'exploitation
- Type :
FILE*
- Header :
<stdio.h>
- Bas niveau (Système)
- Dépendant du système
- Type :
int
- Header :
<unistd.h>
2. Principe Général des E/S
- Ouverture → Obtention descripteur
- Opérations (lecture/écriture)
- Formatées (texte)
- Non formatées (binaire)
- Fermeture
Types de lectures/écritures
- Formatées : Conversion binaire ↔ texte
- Non formatées : Données binaires directes
3. Fonctions Principales
Haut Niveau
// Ouverture
FILE* fopen(const char* name, const char* mode);
// Modes : "r", "w", "r+", "w+", "a", "a+"
// Fermeture
int fclose(FILE* f);
// Lecture/Écriture par caractère
int getc(FILE *stream);
int putc(int c, FILE *stream);
// Lecture/Écriture par bloc
size_t fread(void *ptr, size_t size, size_t nb, FILE *stream);
size_t fwrite(const void *ptr, size_t size, size_t nb, FILE *stream);
// E/S formatées
int fprintf(FILE *stream, const char *format, ...);
int fscanf(FILE *stream, const char *format, ...);