Algorithmique et Langage - Pages de Michel Deloizy - Free
Algorithmique et Langage - Pages de Michel Deloizy - Free
Algorithmique et Langage - Pages de Michel Deloizy - Free
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Opérations sur les flux<br />
! « Ouverture »<br />
→ création du buffer<br />
→ création du lien avec le dispositif physique (FILE *)<br />
→ FILE* fopen(char *NomFichier*<br />
NomFichier, , char *Mo<strong>de</strong>)<br />
! Opérations d’entrées/sorties<br />
→ Entrées/sorties séquentielles<br />
→ Opérations binaires ou formatées<br />
→ Gestion du flux (positionnement, mise à jour buffer…)<br />
Utilisation <strong>de</strong>s flux<br />
Nécessite l’utilisation <strong>de</strong> <br />
Remarque :<br />
Opérations sur les flux peuvent échouer (disque plein, fichier<br />
introuvable…)<br />
→ Nécessiter <strong>de</strong> vérifier validité opérations<br />
→ Tester les co<strong>de</strong>s d’erreurs (EOF ou NULL).<br />
! « Ferm<strong>et</strong>ure »<br />
→ mise à jour <strong>de</strong>s données contenues dans le buffer<br />
→ <strong>de</strong>struction du buffer<br />
→ int fclose(FILE *f)<br />
M. <strong>Deloizy</strong> <strong>Langage</strong> C<br />
81<br />
M. <strong>Deloizy</strong> <strong>Langage</strong> C<br />
82<br />
Flux en sortie<br />
Flux en entrée<br />
! Accès en écriture <strong>de</strong>s fichiers.<br />
! Par défaut l’écran (stdout(<br />
tdout) → ne nécessite pas d’ouverture.<br />
! Fonctions <strong>de</strong> gestion du flux :<br />
! printf, fprintf, sprintf,…<br />
int printf(const<br />
char *format, …)<br />
int fprintf(FILE *f, const char *format, …)<br />
int sprintf(char *str*<br />
str, const char *format, …)<br />
! putchar, putc, fputc<br />
int putchar(int<br />
x)<br />
int putc(int<br />
x, FILE *f)<br />
int fputc(int<br />
x, FILE *f)<br />
! puts, fputs<br />
char *puts(const char *str)<br />
char *fputs(const char *str, FILE *f)<br />
! fwrite<br />
int fwrite(const<br />
void *buffer, size_t size, size_t nb, , FILE *f)<br />
M. <strong>Deloizy</strong> <strong>Langage</strong> C<br />
83<br />
! Accès en lecture <strong>de</strong>s fichiers.<br />
! Par défaut le clavier (stdin(<br />
stdin) → ne nécessite pas d’ouverture.<br />
! Fonctions <strong>de</strong> gestion du flux :<br />
! scanf, fscanf, sscanf,…<br />
int scanf(const<br />
const char *format,…)<br />
int fscanf(FILE *f, const char *format,…)<br />
int sscanf(char *s, const char *format,…)<br />
! g<strong>et</strong>char, g<strong>et</strong>c, fg<strong>et</strong>c<br />
int g<strong>et</strong>char(void<br />
void)<br />
int g<strong>et</strong>c(FILE *f)<br />
int fg<strong>et</strong>c(FILE *f)<br />
! g<strong>et</strong>s, fg<strong>et</strong>s<br />
char *g<strong>et</strong>s(void)<br />
char *fg<strong>et</strong>s(char *<strong>de</strong>st, size_t nb_max, FILE *f)<br />
! fread<br />
int fread(void<br />
*buffer, size_t size, size_t nb, , FILE *f)<br />
M. <strong>Deloizy</strong> <strong>Langage</strong> C<br />
84<br />
21