我正在尝试将数字字符存储到整数
(包含ip地址的字符串,需要将其存储在整数中)
因为我使用这种方式存储char数字
int a;
char ch = '1';
a = ch;
printf("%d\n",a);
printf("%d\n",a - 48);
输出
49
1
而不是 a - 48 将char('1')存储为整数,有更好的方法可以做到这一点,
答案 0 :(得分:0)
您可以直接使用
int a = ch - '0'; // '0' has acsii value 48
这是将数字字符转换为相应整数的常用方法。
答案 1 :(得分:0)
尝试一个以下选项:
a = ch-'0';
printf("%d\n",a-'0');
或者,只需做printf("%c\n",ch);
。
BTW,ch
不是数字字符串,它是数字字符。
答案 2 :(得分:0)
如果你想一次转换一个角色,herohuyongtao的解决方案很好。如果要一次转换字符串(多个字符),可以使用std::atoi
和朋友。
答案 3 :(得分:0)
a = atoi( &ch );
printf( "%d",a );