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