分页: 1 / 1
char到int的转化
发表于 : 2008-10-15 11:44
由 weihua2008
我用buffer·[10][从文本框得到信息6000
但是我想用int型的6000
该如何转换哪?
Re: char到int的转化
发表于 : 2008-10-15 12:08
由 HuntXu
for(i=0;i<=3;i++) a+=(buffer-0x30)*10^(3-i);
Re: char到int的转化
发表于 : 2008-10-15 12:48
由 xyywll
HuntXu 朋友的思路可以,但有几个问题:
1. 求幂应该用 pow() 函数或者其他方法, ^ 在数学里的意义和在 c 里的意义不同;
2. 由于存在 EBCDIC 等其他编码,所以用 -0x30 的方法可移植性不太好
3. 注意格式
一个常用的解决方法是使用 atoi() 函数来解决这个问题:
代码: 全选
#include <stdio.h>
#include <stdlib.h>
...
int main(void)
{
char buffer[10];
int num;
...
num = atoi(buffer);
....
return 0;
}
Re: char到int的转化
发表于 : 2008-10-15 15:18
由 weihua2008
xyywll, HuntXu,
在此哦我十分感谢二位,谢谢!