我是编程新手,最近,我的类(class)开始使用 C++ 处理文件。我的问题是什么触发文件结束?就像换行符有“\n”一样,编译器是否有一些特定的东西来判断它是否是eof?非常感谢包含大量有趣细节的答案!
最佳答案
文件结束 (EOF) 不像行结束 (EOL/LF) 那样与特定字符相关联。它只是一个信号“我们在这个文件的末尾”的状态,不同的方法将有不同的方式来发出信号。通常,当代码试图读取超过文件末尾时,会触发此 EOF“状态”。
例如,当使用 ifstream
时,get()
方法将返回 Traits::eof()
如果我们已经阅读文件中的所有数据。在那之后,调用 std::ifstream::eof()
将返回 true
。这仅适用于 C++ 的流,不同的方法和/或语言可能有不同的方式来发出 EOF 信号,它不像 EOL 那样具有普遍性,没有描述 EOF 的字符。
关于c++ - 什么触发文件结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57231599/