我想逐个获取一串数字,所以我正在使用while
循环
使用cin.get()
作为逐个获取我的数字的函数。
但cin.get()
得到的数字为char
s,即使我正在尝试使用
我无法让我的变量包含numrical值而不是ascii值
我得到的数字作为输入。
答案 0 :(得分:26)
cin.get
无法解析数字。你可以手动完成 - 但为什么还要重新实现这个功能,因为它已经存在了? *
int number;
std::cin >> number;
通常,流操作符(<<
和>>
)负责格式化输出和输入,istream::get
另一方面仅提取原始字符
* 当然,如果 重新实现此功能,那么它就没有了。
要从数字字符中获取数值,可以利用十进制数字0-9的字符代码是连续的。所以以下函数可以转换它们:
int parse_digit(char digit) {
return digit - '0';
}