我正在创建一个控制台程序,要求用户输入0到100之间的整数,然后输出每个数字和输入的次数。用户输入的每个数字用空格分隔,输入结束时输入结束。到目前为止,我使用cin.getline
将数字存储在字符数组中。这限制了操作数字的能力,因为它们存储为ascii字符。如果用户键入10,我希望能够将10作为单个整数存储到新数组中,例如s[i]=converted_number
。
答案 0 :(得分:4)
而不是使用cin.getline
,只需执行:
int input;
while( cin >> input, input != 0 )
{
...do computations or store it somewhere...
}
这将以整数形式输入。
答案 1 :(得分:1)
我不确定这是否是您正在寻找的东西,但是对于那个提升有一个好处。它被称为lexical_cast
。见http://www.boost.org/doc/libs/1_47_0/libs/conversion/lexical_cast.htm