ストリームの状態
ストリームの有効な状態および状態遷移を、次の図に示します。
円の矢印はそれぞれ安定状態を示しています。 線の矢印はそれぞれストリームを操作する関数呼び出しの結果発生する、遷移を示しています。 5 つの関数グループで、状態遷移が発生する可能性があります。
最初の 3 つのグループの関数は、<stdio.h> で宣言されます。
バイト読み取り関数:
fgetc
, ,fgets
,fread
,fscanf
,getc
,getchar
,gets
, ,scanf
andungetc
バイト書き込み関数:
fprintf
, ,fputc
,fputs
,fwrite
,printf
,putc
,putchar
,puts
, ,vfprintf
, andvprintf
残り 2 つのグループの関数は、<wchar.h> で宣言されます。
ワイド読み取り関数:
fgetwc
,fgetws
, ,fwscanf
,getwc
,getwchar
,ungetwc
, ,wscanf
ワイド書き込み関数:
fwprintf
,fputwc
, ,fputws
,putwc
,putwchar
,vfwprintf
,vwprintf
, ,wprintf
この状態の図は、ほとんどの書き込み操作と読み取り操作の間でいずれかの位置関数を呼び出す必要があることを示しています。
ストリームの最後の操作が書き込みであった場合、読み取り関数を呼び出すことはできません。
ストリームの最後の操作が読み取りであった場合、その読み取り操作でファイルの終わりインジケーターが設定されていない限り、書き込み関数を呼び出すことはできません。
最後に、この状態の図は、位置操作が後に使用できる有効な関数呼び出しの数を減らすことはないことを示しています。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示