[問題] 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