我想打印出用户整体输入的数字,并希望忽略空格。
赞:
int aValue;
cin >> aValue;
在这里,假设用户输入了49 506
,我想将其打印为49506
。
答案 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 );
您还应该按照文档中所述,在代码处理错误条件中添加错误检查。