【发布时间】:2016-02-27 17:24:49
【问题描述】:
将所有 (0-255) 字节值写入文本文件会导致任何错误吗? 由于字节 '0' 是 EOF,这是否意味着我的文件可以只包含一个 EOF 字符而后面的所有内容都被忽略?
编辑:文件可以包含任何字节值 (0-255),并且可以根据需要重复多次。
我现在感觉很笨。
【问题讨论】:
-
取决于“错误”的含义。如果您尝试将该文件解释为某种文件类型,它可能无法正常工作。但是从 C++ 的角度来看,在文件中包含任何这些字节并没有错。为什么你认为
0字节意味着 EOF?因为它是用来表示一个C字符串的结束?这些根本不是一回事。 -
好的,但是EOF是什么,如果我们用完所有字节,文件结尾将如何标记。我可能错过了什么。
-
不。我执行一个程序,几乎每天都将所有 0-255 字节写入某个文件。该程序称为“C++ 编译器”。
-
这是否意味着我可以将 1 和 0 的任意组合输入到文件中并且不会破坏任何内容?
-
EOF用作读取函数的返回值,例如scanf,但该值不是从文件中读取的。