使用 cin.get 获取一个整数

Using cin.get to get an integer

本文关键字:一个 整数 cin get 获取 使用      更新时间:2023-10-16

我想一个接一个地获取一串数字,所以我使用while循环以cin.get()作为函数,可以逐个获取我的数字。

但是cin.get()得到的数字是char s,即使我试图使用铸造我无法让我的变量包含数值而不是 ascii 值我作为输入得到的数字。

cin.get无法解析数字。您可以手动执行此操作 - 但是既然它已经存在,为什么还要重新实现此功能呢?*

int number;
std::cin >> number;

一般来说,流运算符(<<>>)负责格式化的输出和输入,istream::get另一方面只提取原始字符。


*当然,如果您必须重新实现此功能,则没有任何功能。

要从数字字符中获取数值,您可以利用十进制数字 0–9 的字符代码是连续的。因此,以下函数可以掩盖它们:

int parse_digit(char digit) {
    return digit - '0';
}
相关文章: