gpt4 book ai didi

c++ - "Peek ahead"检查对 getline(file,line) 的下一次调用是否会返回 false - 没有实际调用它,即不消耗该行

转载 作者:行者123 更新时间:2023-11-28 03:22:38 24 4
gpt4 key购买 nike

所以我们通常会做一些类似的事情

std::ifstream file("file");
std::string line;
bool ret = getline(file,line);

“ret” bool 值告诉我们是否找到了该行。

但是我怎样才能事先知道下一次调用“getline()”是否一定会返回false呢?换句话说,我如何检查我是否已经到达 EOF,而不必真正调用“getline()”来确认?

我想这样做的原因是我有这样的情况:

while(getline(file,line))
{
//code
//i want to do some "final" thing right here in this loop, for the last line.
}

最佳答案

你可以使用 std::istream::peek

Reads and returns the next character without extracting it, i.e. leaving it as the next character to be extracted from the stream.

如果到达结束,将返回 EOF

关于c++ - "Peek ahead"检查对 getline(file,line) 的下一次调用是否会返回 false - 没有实际调用它,即不消耗该行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15038676/

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