[問題] 中文字串切割成中文陣列

看板C_and_CPP (C/C++)作者 (有為)時間13年前 (2012/11/14 02:01), 編輯推噓2(2011)
留言13則, 5人參與, 最新討論串1/1
不好意思,有問題想請教大家 英文字母是 1 byte,中文字是 2 bytes 假設我今天有一個字串像這樣 : string s = "大家好"; 我想把它變成字元形式 就是我可以任意使用各個中文字 例如說我可以得到 s1 = "大" s2 = "家" s3 = "好" 英文的話很簡單,用 c_str() 把字串轉換成陣列型態就可以達到 但是中文我就被搞暈了 謝謝大家!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.217.26

11/14 02:14, , 2F
更改輸出語系前面是wcout → wcout.imbue(locale("cht"));
11/14 02:14, 2F

11/14 04:40, , 3F
寫個class如何
11/14 04:40, 3F

11/14 11:10, , 4F
請問寫個class要怎麼寫?
11/14 11:10, 4F

11/14 14:34, , 5F
for(int i=0;i<s.size();i+=2)
11/14 14:34, 5F

11/14 14:36, , 6F
Substr.push_back(s.substr(i,2));
11/14 14:36, 6F

11/14 14:36, , 7F
是這個意思嗎?
11/14 14:36, 7F

11/14 14:59, , 8F
樓上的意思是用vector去接嗎? 我試試看
11/14 14:59, 8F

11/14 15:46, , 9F
11/14 15:46, 9F

11/14 15:52, , 10F
成功了一次接2個byte可解決中文字元了 感謝樓上
11/14 15:52, 10F

11/14 15:54, , 11F
可是這樣是不是就不能隨意指定字了 比如我要拿"大""好"
11/14 15:54, 11F

11/14 16:09, , 12F
恩..可能是回到了stack -> array的問題了 回去翻DS
11/14 16:09, 12F

11/14 17:23, , 13F
還滿幽默的 反正你不考慮英文字母的話沒差 |D
11/14 17:23, 13F
文章代碼(AID): #1Geehdud (C_and_CPP)
文章代碼(AID): #1Geehdud (C_and_CPP)