[問題] char 轉 int

看板C_and_CPP (C/C++)作者 (Perfect Stranger)時間16年前 (2009/09/13 01:23), 編輯推噓1(108)
留言9則, 4人參與, 最新討論串1/1
我想問個問題 最近要抓某個字串 然後字串(兩個字元)再拆成字元跟INT 文字那個char沒什麼問題 但是另一個char數字 不能直接轉INT atoi() 後來先將char轉string後 才能用atoi()轉 INT atoi只能接受string 轉 INT 不能接受 char 轉INT嗎 如果 char 直接轉 INT 該怎麼做呢 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.120.36.226

09/13 01:27, , 1F
atoi只接受string. 用ASCII Code如何?
09/13 01:27, 1F

09/13 01:27, , 2F
直接-48就可以將該數字化為Int
09/13 01:27, 2F

09/13 01:32, , 3F
那這麼說的意思 ASCII值也代表屬性嗎?
09/13 01:32, 3F

09/13 01:45, , 4F
直接用 ch[1] - '0' 就是它的數字了
09/13 01:45, 4F

09/13 03:12, , 5F
char ch, int INT;
09/13 03:12, 5F

09/13 03:12, , 6F
char buffer[] = "A1";
09/13 03:12, 6F

09/13 03:13, , 7F
sscanf(buffer, "%c%d", &ch, &INT);
09/13 03:13, 7F

09/13 03:13, , 8F
printf("ch = %c\nINT = %d\n", ch, INT);
09/13 03:13, 8F

09/13 22:36, , 9F
用sscanf不錯 謝謝~
09/13 22:36, 9F
文章代碼(AID): #1AgzaKVc (C_and_CPP)
文章代碼(AID): #1AgzaKVc (C_and_CPP)