gpt4 book ai didi

c++ - 仅通过 istream 函数从输入流中删除空格

转载 作者:行者123 更新时间:2023-11-28 03:20:12 30 4
gpt4 key购买 nike

输入小数后有没有办法去掉尾随的空格?例如:

10        A

我想在空格结束后捕捉第一个字符。 (必须是\n 才能为真。如果不是,则为假

到目前为止我的尝试:

cout << "Please enter a number: ";
cin >> n;

if (cin.peek() == ' ')
//Something to catch the whitespaces

if(cin.fail() || cin.peek() != '\n')
cout << "Not a number." << endl;

else
cout << "A number." << endl;

可以通过 istream 中的函数来实现吗?

(我知道cin.fail可以做好事,但它仍然不认为10A的输入是失败的)

最佳答案

正如@chris 所说,您确实希望从阅读整行开始,然后从那里开始阅读其余内容。

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

std::stringstream buffer(line);

buffer >> n;

char ch;
if (buffer >> ch)
cout << "Not a number";

关于c++ - 仅通过 istream 函数从输入流中删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15674177/

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