gpt4 book ai didi

C++11 - 从流中删除输入

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:16:29 24 4
gpt4 key购买 nike

当我的程序可能需要 n 行输入来解决下一个问题,然后再开始下一个问题时,我需要丢弃属于旧问题的所有输入行程序可以在读取所有输入之前解决它。

当然,我可以简单地循环直到到达新问题的输入,但读取和存储所有这些数据可能会很昂贵。有没有办法简单地告诉输入流忽略下一个如此如此多的值?

最佳答案

void discardLines(std::istream &in, std::size_t count)
{
if (!in)
return;

for (auto i = count; i != 0; --i)
in.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
}

并使用任何 istream 类型调用它,例如 cinifstreamistringstream

Reference对于 std::basic_istream::ignore

关于C++11 - 从流中删除输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32907675/

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