gpt4 book ai didi

c++ - 读取 c++ istream 直到 EOF,同时丢弃内容

转载 作者:行者123 更新时间:2023-11-27 23:45:48 25 4
gpt4 key购买 nike

我有一个 std::istream,我需要在其中阅读直到 eof。我对数据的内容不感兴趣,但我必须确保从底层缓冲区读取所有字节。

eof 之前读取 istream 内容的最快方法是什么?

类似于下面的代码?

std::istream str(buffer);
...
std::NULLORWHAT << str.rdbuf();

最佳答案

您可以使用 std::istream::ignore() 读取并丢弃流中的所有字符。

ignore()默认分隔符为 EOF , 所以你只需要给它传递一些字符来读取。如果你使用 std::numeric_limits<std::streamsize>::max()然后 ignore()实际上并不会检查它是否达到了那么多字符,只会读取直到它到达分隔符。

这给了你

str.ignore(std::numeric_limits<std::streamsize>::max());

关于c++ - 读取 c++ istream 直到 EOF,同时丢弃内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50700314/

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