我有一些代码在逐行遍历文本文件时循环以标记数据并将其插入 vector 中。
我正在使用 peek() 来测试文件是否位于末尾,如果是则中断循环:
if (fin.peek() == -1)
break;
这工作正常,但我对包含“魔数(Magic Number)”-1 有点恼火..是否有一个 C++ 库,我可以包含与预定义的 stdio.h 相同的功能 - 1 作为 EOF,还是应该定义一个 const int eof = -1?
最佳答案
“魔法值”-1 定义为 Traits::eof
,其中 Traits 是 fintraits_type typedef > 变量。
换句话说,decltype(fin)::traits_type::eof
关于c++ - 避免 eof C++ 的 "magic number",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19402810/