“ EOF”字符的十六进制代码在哪里?
据所有文件(尤其是文本文件)末尾所知,有一个
用于EOF或NULL字符的十六进制代码。当我们要编写程序
并读取文本文件的内容时,我们将发送读取函数,直到
收到EOF十六进制代码。
我的问题:我下载了一些工具来查看文本文件的十六进制视图。但我
看不到EOF(文件结尾/ NULL)或EOT(文本结尾)的任何十六进制代码
注意:我的输入文件是一个文本文件,其内容为“
“ EOF”的十六进制代码在哪里?”
感谢您的时间和考虑。
回答:
没有EOF字符 。该操作系统完全知道一个文件有多少字节包含(这是存储
与其他类似的元数据的权限,创建日期和名称),并因此可以告诉尝试读取一个十字节的文件的第十字节的程序:
你已经到达文件末尾,没有更多字节可读取。
事实上,返回的“EOF”值,例如通过C函数等getchar是明确的int值中的字节的范围之外,因此它不能
有可能被存储在一个文件中!
有时,某些文件格式会坚持添加NUL终止符(可能是因为这通常是将字符串存储在C中),尽管通常这些
格式会在单个文件中而不是整个文件中界定多个记录。并且这种修饰通常使文件不符合被视为“文本文件”的条件。
诸如ETX和NUL之类的ASCII代码可以追溯到电传打字机和朋友的时代。NUL在C中用于内存中的字符串,但这与文件系统无关。
以上是 “ EOF”字符的十六进制代码在哪里? 的全部内容, 来源链接: utcz.com/qa/412616.html