什么触发文件结束?
What triggers an End of File?
我是编程新手,最近,我的 class 开始使用 C++ 处理文件。我的问题是什么触发文件结束?就像换行符有“\n”一样,编译器是否有一些特定的东西来判断它是否是eof?非常感谢包含大量有趣细节的答案!
文件结束 (EOF) 不像行结束 (EOL / LF) 那样与特定字符相关联。它只是一个信号 "we're at the end of this file" 的状态,不同的方法将有不同的信号发送方式。通常这个 EOF "state" 当代码试图读取超过文件末尾时被触发。
例如,当使用 ifstream
时,如果我们读取了文件中的所有数据,get()
方法将 return Traits::eof()
。在那之后,调用 std::ifstream::eof()
将 return true
。这仅适用于 C++ 的流,不同的方法 and/or 语言可能有不同的 EOF 信号发送方式,它不像 EOL 那样具有普遍性,没有描述 EOF 的字符。
我是编程新手,最近,我的 class 开始使用 C++ 处理文件。我的问题是什么触发文件结束?就像换行符有“\n”一样,编译器是否有一些特定的东西来判断它是否是eof?非常感谢包含大量有趣细节的答案!
文件结束 (EOF) 不像行结束 (EOL / LF) 那样与特定字符相关联。它只是一个信号 "we're at the end of this file" 的状态,不同的方法将有不同的信号发送方式。通常这个 EOF "state" 当代码试图读取超过文件末尾时被触发。
例如,当使用 ifstream
时,如果我们读取了文件中的所有数据,get()
方法将 return Traits::eof()
。在那之后,调用 std::ifstream::eof()
将 return true
。这仅适用于 C++ 的流,不同的方法 and/or 语言可能有不同的 EOF 信号发送方式,它不像 EOL 那样具有普遍性,没有描述 EOF 的字符。