End Of File
コンピューティングにおいて、End Of File(エンド・オブ・ファイル、略称:EOF)とは、ファイルやストリームにおいて、それより先に読み出すデータが存在しない(終端である)ことを示す状態のことである。
標準Cライブラリでは、getcharのような文字を読み取る関数は、ファイルやストリームの終端を読み取った時に、シンボル値(マクロ) EOF に等しい値を返す。EOF の実際の値は実装に依存するが(ただし、GNU Cライブラリなど、一般的には -1 が使用される)、文字を示す全てのコードと異なる値で示される。fgets()はヌルポインタが返るなど、同じ言語においても様々である。
データをシーケンシャルアクセスしていって、最後のデータまで読み込んだ場合(あるいは、さらに次のデータを読み込もうとした後に)、EOFが発生する。readなどのブロックを読み取る関数は、戻り値として読み取ったバイト数を返し、これが要求したバイト数よりも少ない場合は、EOFが発生したかエラーが発生したことを示す(どちらが発生したかは、errnoを確認するか、ferrorなどの専用の関数を使用することで知ることができる)。
データベースにおいて与えられた条件に合うデータが存在しない場合、EOFとなる。EOFの判定方法は処理系により異なる。