看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev-C++ 4.9.9.2 問題(Question): 我有一個char陣列,char a[10]="123456789" 我想把它轉成一個int陣列,int b[10]={1,2,3,4,5,6,7,8,9} 錯誤結果(Wrong Output): 編譯出現錯誤訊息 invalid conversion from `char' to `const char*' initializing argument 1 of `int atoi(const char*)' 看不懂XD 程式碼(Code):(請善用置底文網頁, 記得排版) #include <iostream> #include <cstring> #include <cstdlib> //for system() using namespace std; int main( ) { char a[10]="123456789"; int b[10]={0}; int num=strlen(a); for(int i=0;i<num;i++) { b[i]=atoi(a[i]); //error!!這裡出現錯誤 cout<<b[i]<<endl; } system("pause"); return 0; } 補充說明(Supplement): 請各位先進教教小弟錯誤訊息是什麼意思 以及幫我修改程式碼來達到上述要求。 感恩!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.165.76.134
johnhmj:b[i] = a[i] - '0'; 08/27 21:56
a27417332:你問了一個目前正夯的問題(? 08/27 21:58
SeamusBerloz:感覺這句 char a[10]="123456789"; 問題就很大... 08/28 00:05
Feis:可以分享一下嗎? 08/28 00:08
SeamusBerloz:是我才淺,"123456789" 是不是應該是 const char *? 08/28 00:14
SeamusBerloz:把他放進 char 陣列後,內容會變成什麼呢? 08/28 00:17
SeamusBerloz:呵呵,原來會排好放在陣列裡,測試了是我錯,抱歉! 08/28 00:21
Feis:Never mind. 有趣的是你覺得 char a[9]="123456789"會過嗎 08/28 00:23
SeamusBerloz:這樣...,編譯器就抱怨了吧!位子不夠睡啊... 08/28 00:30
johnhmj:大大們,要不要改試看看"long long"? 0.0! 08/28 00:30
Feis:http://codepad.org/HO45Vk2r 08/28 00:34
Feis:http://codepad.org/Y7GxSZ6I 08/28 00:34
SeamusBerloz:對喔,C 可以過的 08/28 00:42
johnhmj:函式生不出30cm只有15cm原來如此 ( ̄─┐ ̄) 08/28 00:43
DarkPrincex:我不太建議別人用內建涵式,主要是因為常會亂用... 08/28 01:51
DarkPrincex:基本上很多東西知道原理都能自己寫,就像1樓那個一樣 08/28 01:57
AnyaAlstreim:怕亂用就不用?!! 怎麼不是去學習不要亂用 08/28 05:02
MOONRAKER:VERY LONG 08/28 10:22
MOONRAKER:用library沒什麼不好 不好的是傳說迷信 08/28 10:23
MOONRAKER:仔細看英文說明文件、照章操作,才能破除迷信 08/28 10:26