[C/C++] 別忘了在char陣列結尾加/0...
今天就為了這個問題debug很久...問題是這樣的:我想要製造儲存一個BIG5字元的char陣列。(每個BIG5字元需要兩個char儲存,舉例來說,"A5 D0"為"田")理所當然寫了這樣一段: char BIG5_character[2]; BIG5_character[0] = 0xA5; BIG5_character[1] = 0xD0; cout << BIG5_character; 理論上應該會看到"田",實際上田是出來了,但後面跟了一串亂碼:"田p~+" 原因在於一個完整的字串,必須要在結尾放一個結束字元 \0,忘了放則cout會繼續往下輸出。 因此把原code修改一下: char BIG5_character[3]; BIG5_character[0] = 0xA5; BIG5_character[1] = 0xD0; BIG5_character[2] = 0; // 結束字元的ASCII編號是0 cout << BIG5_character; 這樣就可以得到正確輸出"田"了,不過這麼基本的東西我竟然到現在才知道... STL用太多了XD