스트림 상태
스트림의 유효한 상태 및 상태 변화가 다음 그림에 표시됩니다.
각 원은 안정적인 상태를 나타냅니다. 각 줄은 스트림에서 동작하는 함수 호출의 결과로 일어날 수 있는 전환을 나타냅니다. 5개 그룹의 함수가 상태 전환을 일으킬 수 있습니다.
처음 세 그룹의 함수는 stdio.h>에서 <선언됩니다.
바이트 읽기 함수:
fgetc
, ,fread
fgets
,fscanf
,getc
getchar
,gets
scanf
및ungetc
바이트 쓰기 함수:
fprintf
, ,fputc
,fwrite
fputs
,putc
printf
,putchar
puts
, 및vfprintf
vprintf
나머지 두 그룹의 함수는 wchar.h>에서 <선언됩니다.
와이드 읽기 함수:
fgetwc
,,fgetws
fwscanf
,getwc
getwchar
,ungetwc
및wscanf
,와이드 쓰기 함수:
fwprintf
,,fputws
fputwc
,putwc
,putwchar
vfwprintf
,vwprintf
및wprintf
,
상태 다이어그램은 대부분의 쓰기 및 읽기 작업에서 위치 함수 중 하나를 호출해야만 한다는 것을 보여 줍니다.
스트림의 마지막 작업이 쓰기인 경우 읽기 함수를 호출할 수 없습니다.
읽기 작업이 파일 끝 표시기를 설정하지 않는 한 스트림의 마지막 작업이 읽은 경우 쓰기 함수를 호출할 수 없습니다.
마지막으로 상태 다이어그램은 위치 작업이 따를 수 있는 유효한 함수 호출 수를 감소시키지 않는다는 것을 보여 줍니다.