gpt4 book ai didi

c++ - ifstream eof 函数 (C++)

转载 作者:行者123 更新时间:2023-11-30 01:19:18 26 4
gpt4 key购买 nike

我有这个代码:

string a = "D:\\Users\\user-pc\\Desktop\\testing\\a.txt";

ifstream f;
/*edit*/ string line;

/*edit*/ getline(f, line);
f.open(a);
if ( f.eof() )
cout << "ended";
else
cout << "nope"

还有什么都没有的文件“a.txt”。

输出是不,总是不。我不明白..我用错了吗?

编辑:仍然 .eof() 不工作

最佳答案

std::basic_istream<...>::eof()仅当最近的提取在流状态中设置了适当的位时才返回 true。构造文件流时,其流状态始终为 std::ios_base::goodbit 的状态。 .

另一种方法是检查下一个可用字符是否为 EOF 字符:

if (f.peek() == std::char_traits<char>::eof())

关于c++ - ifstream eof 函数 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21078566/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com