分页: 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,
在此哦我十分感谢二位,谢谢!