ストリームの制御

fopen は、型 FILEのオブジェクトのアドレスを返します。 いくつかのライブラリ関数の引数 stream としてこのアドレスを使用し、開かれたファイルに対してさまざまな操作を実行します。 バイト ストリームの場合、すべての入力は、各文字が呼び出 fgetcしによって読み取られたかのように行われます。 すべての出力は、各文字が呼び出 fputcしによって書き込まれるかのように行われます。 ワイド ストリームの場合、すべての入力は、各文字が呼び出 fgetwcしによって読み取られたかのように行われます。 すべての出力は、各文字が呼び出 fputwcしによって書き込まれるかのように行われます。

ファイルを閉じるには、オブジェクトのアドレスが無効な呼び出し fcloseFILE 行います。

FILE オブジェクトは次のようなストリームの状態を格納します。

  • 関数が読み取りまたは書き込みのエラーを検出すると 0 以外に設定されるエラー インジケーター。

  • 関数が読み取り中にファイルの終端を検出すると 0 以外に設定される EOF インジケーター。

  • ストリーム内で次に読み取るまたは書き込むバイトを指定するファイル位置インジケーター (ファイルが位置決め要求をサポートしている場合)。

  • ストリームで読み取りまたは書き込み (あるいはその両方) を承認するかどうか、ストリームが非バインド、バイト指向、ワイド指向のいずれであるかを指定するストリームの状態

  • 変換状態は、部分的にアセンブルまたは生成された一般化されたマルチバイト文字の状態と、ファイル内のバイト シーケンスのシフト状態を記憶します。

  • ファイル バッファーは、配列オブジェクトのアドレスとサイズを指定します。 ライブラリ関数はそれを使用して、ストリームに対する読み取りおよび書き込み操作のパフォーマンスを向上させることができます。

オブジェクトに格納されている値や、そのオブジェクトで FILE 使用するために指定したファイル バッファーに格納されている値は変更しないでください。 オブジェクトを FILE コピーしたり、コピーのアドレスをライブラリ関数の引数として stream 移植可能に使用したりすることはできません。

関連項目

ファイルとストリーム