如何打印不带空格的输入整数?

时间:2018-10-12 13:01:35

标签: c++ c++14

我想打印出用户整体输入的数字,并希望忽略空格。

赞:

int aValue;
cin >> aValue;

在这里,假设用户输入了49 506,我想将其打印为49506

1 个答案:

答案 0 :(得分:2)

首先,您需要从带有空格的用户那里获取一个字符串,请注意,您需要为此使用std::getline(),因为operator>>将不接受空格:

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

然后您将std::remove_if()std::isspace()结合使用以从字符串中删除空格:

auto it = std::remove_if( str.begin(), str.end(), []( unsigned char c ) { return std::isspace(c); } );
str.erase( it, str.end() );

,然后使用std::stoi()将字符串转换为int

auto aValue = std::stoi( str );

您还应该按照文档中所述,在代码处理错误条件中添加错误检查。