Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les états valides et les transitions d’état d’un flux de données sont indiqués dans l’illustration suivante.

Chaque cercle indique un état stable. Chacune des lignes dénote une transition qui peut se produire à la suite d’un appel de fonction opérant sur le flux de données. Cinq groupes de fonctions peuvent entraîner des transitions d’état.
Les fonctions des trois premiers groupes sont déclarées dans <stdio.h> :
Fonctions de lecture d’octet :
fgetc, ,freadfgets,getcfscanfgetchar, ,gets, ,scanfetungetcFonctions d’écriture d’octet :
fprintf, ,fputc,putcprintffwriteputcharfputs,puts, , etvfprintfvprintf
Les fonctions des deux autres groupes sont déclarées dans <wchar.h> :
Fonctions de lecture large :
fgetwc, ,fwscanffgetws,getwcgetwchar,ungetwc, etwscanf,Fonctions d’écriture large :
fwprintf, ,fputwc,putwcharvfwprintfvwprintffputwsputwcet ,wprintf
Le diagramme d’état indique que vous devez appeler l’une des fonctions de position entre la plupart des opérations d’écriture et de lecture :
Vous ne pouvez pas appeler une fonction de lecture si la dernière opération sur le flux était une écriture.
Vous ne pouvez pas appeler une fonction d’écriture si la dernière opération sur le flux était une lecture, sauf si cette opération de lecture a défini l’indicateur de fin de fichier.
Enfin, le diagramme d’état indique qu’une opération de position ne diminue jamais le nombre d’appels de fonctions valides qui peuvent suivre.