我想知道 Linux 如何检测文本文件的结尾。 是否所有文本文件都以 NULL 字节结尾,Linux 利用了这一点?
最佳答案
现代操作系统,如 Linux,不使用文件内容来检测文件结束,它们将文件长度存储在文件系统中并跟踪文件位置以确定是否有更多内容可供读取.
事实上,文本文件根本不应该包含空字节。它们通常以行尾标记结束(\n
在 Linux 和 OS/X 上,CR
/LF
在遗留系统上)。此规则的一个值得注意的异常(exception)是空文件。
当从终端窗口等设备读取时,操作系统依靠设备驱动程序提供有关文件结尾的信息,在终端的情况下,用户可以通过输入系统特定的命令来发出信号组合键,例如 Unix 系统上的 CtrlD 和 Microsoft 上的 CtrlZEnter操作系统。
关于c - linux如何检测文本文件的EOF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58783734/