fopen
は、 FILE
型のオブジェクトのアドレスを返します。 いくつかのライブラリ関数の引数 stream
としてこのアドレスを使用し、開かれたファイルに対してさまざまな操作を実行します。 バイト ストリームの場合、すべての入力は、 fgetc
を呼び出すことによって各文字が読み取られたかのように行われます。 すべての出力は、各文字が fputc
を呼び出して書き込まれるかのように行われます。 ワイド ストリームの場合、すべての入力は、 fgetwc
を呼び出すことによって各文字が読み取られたかのように行われます。 すべての出力は、各文字が fputwc
を呼び出して書き込まれるかのように行われます。
ファイルを閉じるには、 fclose
を呼び出します。その後、 FILE
オブジェクトのアドレスが無効になります。
FILE
オブジェクトは次のようなストリームの状態を格納します。
関数が読み取りまたは書き込みのエラーを検出すると 0 以外に設定されるエラー インジケーター。
関数が読み取り中にファイルの終端を検出すると 0 以外に設定される EOF インジケーター。
ストリーム内で次に読み取るまたは書き込むバイトを指定するファイル位置インジケーター (ファイルが位置決め要求をサポートしている場合)。
ストリームで読み取りまたは書き込み (あるいはその両方) を承認するかどうか、ストリームが非バインド、バイト指向、ワイド指向のいずれであるかを指定するストリームの状態。
変換状態は、部分的にアセンブルまたは生成された一般化されたマルチバイト文字の状態と、ファイル内のバイト シーケンスのシフト状態を記憶します。
ファイル バッファーは、配列オブジェクトのアドレスとサイズを指定します。 ライブラリ関数はそれを使用して、ストリームに対する読み取りおよび書き込み操作のパフォーマンスを向上させることができます。
FILE
オブジェクトに格納されている値や、そのオブジェクトで使用するために指定したファイル バッファーに格納されている値は変更しないでください。
FILE
オブジェクトをコピーしたり、コピーのアドレスをライブラリ関数のstream
引数として移植可能に使用したりすることはできません。