Stavy proudu
Platné stavy a přechody stavu pro proud ukazuje následující obrázek.
Každý kruhů označuje stabilní stav.Každý řádek označuje přechod, který může nastat jako výsledek volání funkce, která pracuje v datovém proudu.Pět skupin funkce může způsobit přechody stavu.
Funkce v první tři skupiny jsou deklarovány v <stdio.h>:
The byte read functions — fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, and ungetc
Zapsat bajt funkce – fprintf, fputc, fputs, fwrite, printf, putc, putchar, umístí, vfprintf, a vprintf
Funkce ve zbývajících dvou skupin jsou deklarovány v <wchar.h>:
Čtení celou funkce – fgetwc, fgetws, fwscanf, getwc, getwchar, ungetwc, a wscanf,
Zapsat celém funkce – fwprintf, fputwc, fputws, putwc, putwchar, vfwprintf, vwprintf, a wprintf,
Diagram stavu ukazuje, že musí volat některou z funkcí pozici mezi většinu zápisu a operace čtení:
Čtení funkci nelze volat, pokud byla poslední operace na datový proud zápisu.
Zápis funkce nelze volat Pokud byla poslední operace na datový proud čtení, pokud, čtení operace nastavit ukazatel konce souboru.
Diagram stavu nakonec ukazuje polohu operace nikdy snižuje počet volání platný funkcí, které mohou sledovat.