[問題] 陣列問題...

作者: akka5678   2015-12-16 14:42:15
小弟新手,有個疑問想請教各位大神
想請問中文字在陣列裡是佔幾個空間?
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; //聖誕快樂
想請各位大神指教
作者: stupid0319 (徵女友)   2015-12-16 14:48:00
中文字佔兩個char呀,不過Unicode的英文也是兩個Google找下big5規則跟Unicode
作者: a27417332 (等號卡比)   2015-12-16 15:09:00
印象中Unicode是編碼,UTF是實作方法吧印象中英文字2 byte應該也是看環境,吧(不確定
作者: LPH66 (-6.2598534e+18f)   2015-12-16 15:23:00
一個中文字幾個 byte 對初學者這是大哉問這跟你的原始檔、編譯方式和執行環境都有關如果是 2 byte 的狀況你就想成跟 BBS 一樣就對了不是 2 byte 的再來問
作者: overhead (overhead)   2015-12-16 22:53:00
恩這是一個很複雜的議題 複雜到不適合新手 你可以googleunicode UTF-8 ANSI等等關鍵字去了解相關訊息

Links booklink

Contact Us: admin [ a t ] ucptt.com