gpt4 book ai didi

c++ - 如何获取 cin 中的第一个非白色字符

转载 作者:行者123 更新时间:2023-11-30 02:48:59 26 4
gpt4 key购买 nike

好的,快速提问。

在 C++ 中,我想忽略空格,所以我知道我需要使用 cin 而可能不是 cin.get因为“空格”是一个字符。

但是,如果用户输入多个字符,我还想只获取第一个非空白字符并忽略其他字符。如果其余的字符没有被忽略,那么输入将影响我稍后在程序中的其他 cin

所以我猜我应该使用 cin.ignore( ),但我也意识到我不能只添加一个1000 的参数,因为用户随后必须输入 1000 个字符(至少在我测试时是这样)。那么如何只获取第一个非空白字符呢?

最佳答案

第一个非空白字符(假设输入流不为空)可以通过清除前导空白获得,然后使用下一个字符:

char firstChar = (is >> std::ws).get();

要清除输入流的其余部分,您可以ignore() 所有剩余的字符直到下一个换行符,例如:

is.ignore(std::numeric_limits<std::streamsize>::max(), '\n');

关于c++ - 如何获取 cin 中的第一个非白色字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21653152/

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