[問題] 陣列問題...

看板C_and_CPP (C/C++)作者時間10年前 (2015/12/16 14:42), 編輯推噓3(307)
留言10則, 4人參與, 最新討論串1/1
小弟新手,有個疑問想請教各位大神 想請問中文字在陣列裡是佔幾個空間? char str1[4] = {"C++"}; //這只要配四個就好,因為有包括\0 char str2[9] = {"聖誕快樂"}; //但這要配9個,所以一個字佔兩個空間嗎? __________________ | C | + | + | \n | |___|___|___|____| cout << st1[1] ; //輸出C cout << str[2] ; //輸出+ 但str2就不能單獨輸出一個字,只能輸出整個字串? cout << str2[1]; //輸出t ? cout << str2[2]; //空白 cout << str2[3]; //空白 ..... cout << str2; //聖誕快樂 想請各位大神指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.48.128 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1450248137.A.ED2.html

12/16 14:48, , 1F
中文字佔兩個char呀,不過Unicode的英文也是兩個
12/16 14:48, 1F

12/16 14:51, , 2F
Google找下big5規則跟Unicode
12/16 14:51, 2F

12/16 15:09, , 3F
印象中Unicode是編碼,UTF是實作方法吧
12/16 15:09, 3F

12/16 15:13, , 4F
印象中英文字2 byte應該也是看環境,吧(不確定
12/16 15:13, 4F

12/16 15:23, , 5F
一個中文字幾個 byte 對初學者這是大哉問
12/16 15:23, 5F

12/16 15:23, , 6F
這跟你的原始檔、編譯方式和執行環境都有關
12/16 15:23, 6F

12/16 15:24, , 7F
如果是 2 byte 的狀況你就想成跟 BBS 一樣就對了
12/16 15:24, 7F

12/16 15:24, , 8F
不是 2 byte 的再來問
12/16 15:24, 8F

12/16 22:53, , 9F
恩這是一個很複雜的議題 複雜到不適合新手 你可以google
12/16 22:53, 9F

12/16 22:54, , 10F
unicode UTF-8 ANSI等等關鍵字去了解相關訊息
12/16 22:54, 10F
文章代碼(AID): #1MSGV9xI (C_and_CPP)
文章代碼(AID): #1MSGV9xI (C_and_CPP)