EOF文字
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/24 16:29 UTC 版)
「End Of File」の記事における「EOF文字」の解説
端末からの入力は、(デバイスが切断されない限り)実際には「終了」することはないが、端末に複数の「ファイル」を入力することができるように、入力の終了を示すためのキー配列が予約されている。UNIXでは、キーストロークのEOFへの変換はターミナルドライバによって行われるため、プログラムはターミナルを他の入力ファイルと区別する必要がない。デフォルトでは、ドライバは行頭のControl-DをEOFに変換する。実際のControl-D(ASCIIコード04)を入力ストリームに挿入するには、ユーザは"quote"コマンド文字 (通常はControl-V) を前に付ける。AmigaDOS(英語版)では、Control-Dの代わりにControl-\を使用する。 DOS、Windows、CP/Mや、多くのDECオペレーティングシステム(RT-11、VMSなど)では、端末からの読み込みでEOFが発生することはない。その代わり、プログラムはソースが端末(または他の「文字デバイス」)であることを認識し、予約された文字やシーケンスをEOFとして解釈する。一般的には、ASCIIコード26(0x1A)のControl-ZがEOFとして解釈される。 一部のDOSシェル(COMMAND.COM)やOSのユーティリティプログラム(EDLINなど)を含むいくつかのMS-DOSプログラムは、テキストファイル内のControl-Zを意味のあるデータの終わりを示すものとして扱い、テキストファイルの書き込みの際にControl-Zを最後に追加する。これは次の2つの理由で行われた。 CP/Mとの後方互換性のため。CP/Mのファイルシステムでは、128バイト長のレコードの倍数でしかファイルの長さを記録していなかったため、ファイルがレコードの途中で終わった場合、意味のあるデータの終わりをマークするためにControl-Zが使用されていた。MS-DOSのファイルシステム(FAT)では常にファイルの正確なバイト長を記録しているので、MS-DOSではこのようにする必要はなかった。 プログラムが入力を読み取る際に、端末とテキストファイルの両方で同じコードを使用することができるようにするため。
※この「EOF文字」の解説は、「End Of File」の解説の一部です。
「EOF文字」を含む「End Of File」の記事については、「End Of File」の概要を参照ください。
- EOF文字のページへのリンク