gpt4 book ai didi

c++ - 如何清除 cin 中的无关字符?

转载 作者:行者123 更新时间:2023-11-30 01:29:03 25 4
gpt4 key购买 nike

char buff[3];

cout<<"From: ";
cin.getline(buff, 3);

//something something

cout<<"To: ";
cin.getline(buff, 3);

我如何清除注释缓冲区,这样多余的字符就不会进入我的第二个 cin

最佳答案

一种方法是使用istream::ignore:

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

这将跳过最大可能的字符数,直到读取换行符。

不过,就其值(value)而言,您可能不应该使用 istream::getline,因为它适用于原始 C 风格字符串。更好的选择是使用 std::string 和免费函数 std::getline:

std::string buffer;
getline(cin, buffer);

这将自动读取 stdin 中的所有字符,直到换行为止。

关于c++ - 如何清除 cin 中的无关字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6486113/

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