Stany strumieni
Prawidłowe stany i przejścia stanu dla strumienia są wyświetlane na poniższym rysunku.
Każdy z okręgów określa stabilny stan. Każdy z wierszy oznacza przejście, które może wystąpić w wyniku wywołania funkcji działającego na strumieniu. Pięć grup funkcji może powodować przejścia stanu.
Funkcje w pierwszych trzech grupach są deklarowane w <stdio.h>:
Funkcje odczytu bajtów:
fgetc
,getc
fgets
fscanf
getchar
fread
,gets
, iscanf
ungetc
Funkcje zapisu bajtów:
fprintf
,printf
fputs
fputc
putc
putchar
fwrite
puts
, ,vfprintf
, ivprintf
Funkcje w pozostałych dwóch grupach są deklarowane w <wchar.h>:
Szerokie funkcje odczytu:
fgetwc
, ,fgetws
fwscanf
,getwc
,getwchar
,ungetwc
, iwscanf
,Szerokie funkcje zapisu:
fwprintf
,fputwc
vwprintf
fputws
putwc
putwchar
vfwprintf
iwprintf
Diagram stanu pokazuje, że należy wywołać jedną z funkcji położenia między większością operacji zapisu i odczytu:
Nie można wywołać funkcji odczytu, jeśli ostatnia operacja w strumieniu była zapisem.
Nie można wywołać funkcji zapisu, jeśli ostatnia operacja w strumieniu była odczytem, chyba że operacja odczytu ustawi wskaźnik końca pliku.
Na koniec diagram stanu pokazuje, że operacja położenia nigdy nie zmniejsza liczby prawidłowych wywołań funkcji, które mogą być wykonywane.
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla