【发布时间】:2016-04-14 21:48:18
【问题描述】:
在 c++ 中将 char 转换为 int 时,我遇到了一个以前从未遇到过的独特问题。
我正在遍历一个名为 total_line 的整数字符串,其内容如下:
1526
我正在尝试将所有其他 char 转换为 int,这是我的代码:
cout << total_line[i+1] <<endl;
int d = total_line[i+1] <<endl;
cout << d << endl;
i++;
我的输出奇怪的是:
5
53
6
54
我不确定为什么 5 被转换为 int 53 而 6 被转换为 int 54。
【问题讨论】:
-
您没有显示足够的代码。向我们展示
total_line的声明,它是如何初始化的,以及变量i的值。 -
字符本质上是以 ASCII 格式输入的。
'5' == 53。查看ASCII table。 -
您将数字(如五,我手上的手指数)与数字表示混淆,如数字“5”(一个看起来很像字母“S”的符号)。