c++ - cin 如何将字符转换为相应的类型

标签 c++ input char ascii cin

我有一个关于“cin如何转换相应类型的字符”的问题,因为我对这个问题有点困惑。

例如我们有: int a ; cin >> ;
如果输入是例如 3 ,我知道 cin 将此作为字符并将其转换为 int ,但是它如何转换它,清楚 cin 如何将 char (3) 转换为 int (3) ,它是什么样的转换使用 ,因为如果我们使用类型转换将 char 3 转换为 int ,则 int 值将是 “3”的 ASCII 代码。

那么,有谁可以详细地向我解释一下这件事吗?

最佳答案

转换发生在三个连续的阶段,详细信息参见 this page 。本质上发生的事情是从输入流缓冲区中获取字符,并通过迭代每个字符获得的转换说明符将其转换为相应的类型。由于您的示例使用整数,因此转换说明符是long。这些转换说明符通过实现定义的方式用于将输入转换为变量的类型。

关于c++ - cin 如何将字符转换为相应的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18188055/

相关文章:

c++ - C++中解析文本文件的例程

c++ - 我在 VS12 中编写代码,但它无法在 Linux 上编译

r - 从终端安全地向 R 应用程序提供密码的方法?

ios - 防止二次触摸生效

java - System.out.println( '3' + 0 );

c++ - C++读取多个文件

c++ - 如何使用智能指针和子类进行类型检查

Swift 3 - 将文本字段限制为字母数字(带空格和连字符)

c - 输入值未正确保存在 char 数组中

java - 连接字符以形成字符串会给出不同的结果