[问题] C 二维字串转整数

楼主: freeedward (爱得华)   2015-12-30 14:10:02
一般看到这标题, 应该都是使用atoi或是strtol就可以解决了
但我遇到一个奇怪的问题
我宣告了一个二维字符阵列去存数字, 并想要把他转成hex, 但无法解决3个位元的问题
程式码如下:
char book[3][3]={"10","255","32"};
int i=0,temp=0;
for(i=0;i<3;i++)
{
printf("book[%d]=%s\n",i,book[i]);
temp=(uint8_t)strtol(book[i],NULL,16);
printf("temp=%x\n",temp);
}
执行结果:
book[0]=12
temp=12
book[1]=25532
temp=32
book[2]=32
temp=32
希望结果:
temp=c
temp=ff
temp=20
请问问题是发生在哪里呢?

Links booklink

Contact Us: admin [ a t ] ucptt.com