使用 cin.get 获取一个整数
Using cin.get to get an integer
我想一个接一个地获取一串数字,所以我使用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';
}
相关文章:
- C++需要帮助从用户那里获得一个整数,并确保它在另外两个整数之间
- 当我们从/tp地址中添加/减去一个整数时会发生什么
- 如何将一个数组值合并为一个整数c++
- 为什么有时我输入一个整数,程序将第一个输入的数字打印成十进制数?
- 给定一个整数数组,需要在Max_Heap上运行操作。得到错误"segmentation fault",有什么想法吗?(C++)
- 我可以将迭代器递增一个整数吗?
- 有没有办法生成一个包含平方的序列,这些平方加起来就是一个整数平方?
- 为什么将两个浮点数相加会得到一个整数C++?
- 如果我们在其中输入一个整数,则字符会给出整数作为输出,但是当分配给它一个整数时,这不会发生。为什么?
- 给枚举一个整数,并在 C++ 中将其相关值作为字符串获取
- 按升序输出整数时,将最后一个整数放在新行上
- 编写一个程序,提示用户输入一个整数,然后输出数字的单个数字和数字的总和
- 给定一个整数 N>0,区间 [0, 2^N) 中有多少个整数正好有 N-1 个设置位?编写一个返回正确答案的简短函数
- 给定一个整数,将其表示为平方和
- c++interpret_cast是一个整数
- 以最少的步骤将给定整数转换为另一个整数
- 当 map 是一个整数数组并且由 operator[] 创建时,它是否初始化其映射类型
- 我需要将字符串(例如 A5)转换为一个字符串 (A) 和一个整数 (5)
- 如何交替从文件中获取一行数据和一个整数?
- 如何让这个C++代码从用户那里读取五个整数而不是一个整数?