ストリームの状態
ストリームの状態有効な状態遷移は次の図に示します。
範囲内の各は安定状態を表示します。行はストリームを操作する関数呼び出しの結果発生する遷移を表示します。関数の 5 グループにより状態遷移が発生する可能性があります。
最初の 3 のグループの関数はで <stdio.h> 宣言されています :
bytes は関数である fgetcfgetsfreadfscanfgetcgetchar取得しますscanf と ungetcungetc 従って
バイトの書き込みはfprintffputcfputsfwriteprintfputcputchar配置vfprintf と vprintf あります。
残りの 2 のグループの関数はで <wchar.h> 宣言されています :
読み取り専用の関数である fgetwcfgetwsfwscanfgetwcgetwcharungetwc とwscanf
の書き込みはfwprintffputwcfputwsputwcputwcharvfwprintfvwprintf と wprintf 作用します
状態はほとんどの書き込みと読み取り操作間の位置の関数の 1 種類を呼び出す必要があることを示します :
ストリームの読み取りと書き込み操作が最後の関数を呼び出すことはできません。
この読み取り操作セットエンド (end-of-file) インジケーター ストリームの最後の操作を書き込みの関数を呼び出すことはできません。
最後に状態は操作の位置は継続できる有効な関数呼び出しの回数を減らしことを示します。