[問題] C 二維字串轉整數
一般看到這標題, 應該都是使用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
請問問題是發生在哪裡呢?
--
~meow ★ Butter Yuki Cat ★ meow~
△ △ ★ ╭ ╦╗ ═ ╭╬╗ ═╦═ ╦ ╬═╬ ╠╣ ╬═╬ ★ ▲ ▲
=▏ ̄▕= ★ ╬╬║║ ║║║ ║ ║ ╠═╣ ╠╬╗╭╦╗ ★ =███=
\_/ ★ ║║║╩╗ ═ ╠╬╣ ═╬═ ╬ ╠═╣ ╭═╣╠╬╣ ★ ◥█◤
ζ∕ ﹨ ★ ╚╬║ ║ ║║║║ ║╮ ║ ╩═╩ ╭═╣║║║ ★ ▌█▋▋
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.158.249
※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1451455806.A.961.html
推
12/30 15:48, , 1F
12/30 15:48, 1F
→
12/30 15:48, , 2F
12/30 15:48, 2F
推
12/30 15:50, , 3F
12/30 15:50, 3F
→
12/30 15:50, , 4F
12/30 15:50, 4F
→
12/30 16:02, , 5F
12/30 16:02, 5F
→
12/30 16:02, , 6F
12/30 16:02, 6F
→
12/30 16:02, , 7F
12/30 16:02, 7F
→
12/30 16:02, , 8F
12/30 16:02, 8F
→
12/30 16:02, , 9F
12/30 16:02, 9F
→
12/30 16:02, , 10F
12/30 16:02, 10F
→
12/31 01:03, , 11F
12/31 01:03, 11F
→
12/31 01:04, , 12F
12/31 01:04, 12F
Programming 近期熱門文章
PTT數位生活區 即時熱門文章