[問題] string 轉為 int[x]

看板C_and_CPP (C/C++)作者 (呦厚厚)時間16年前 (2009/05/01 23:19), 編輯推噓3(306)
留言9則, 6人參與, 最新討論串1/1
我打算讓使用者先透過 string 輸入三個數字 之後再將這三個數字 轉為 i[3]裡面 我目前的作法如下 string s; int i[3]; cin>>s; for (int a=0;a<3;a++) i[a]=atoi(s[a]); 可是最後一行會發生錯誤 'atoi' : 無法將參數 1 從 'char' 轉換成 'const char *' 想請問要如何才能解決這問題 謝謝了 ^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.248.163.42

05/01 23:22, , 1F
atoi()的引數需要cstring (const char *)
05/01 23:22, 1F

05/01 23:22, , 2F
atoi(&s[a]) ??
05/01 23:22, 2F

05/01 23:22, , 3F
你一次只處理一個字元 那 (s[a]-'0') 就好了
05/01 23:22, 3F

05/01 23:23, , 4F
我想你的要求並不需要atoi,只要s[ i ] - '0'就可以了
05/01 23:23, 4F

05/01 23:41, , 5F
三個數字?? 三個數?? 不知道s.c_str()能不能用??
05/01 23:41, 5F

05/01 23:41, , 6F
水~~~樓上的高手 你們的方法真是太漂亮了
05/01 23:41, 6F

05/01 23:42, , 7F
啊我看懂了, M/s大的方法才對....Orz
05/01 23:42, 7F

05/02 00:14, , 8F
請愛用 stringstream 來做轉換
05/02 00:14, 8F

05/02 00:30, , 9F
stringstream讚 真正C++ way
05/02 00:30, 9F
文章代碼(AID): #19-nBcd0 (C_and_CPP)
文章代碼(AID): #19-nBcd0 (C_and_CPP)