當我運行示例代碼時,wordLength是7(因此輸出7)。但是我的char數組最後得到了一些非常奇怪的字符。字符指針給我一些非常奇怪的字符
wordLength = word.length();
cout << wordLength;
char * wordchar = new char[wordLength]; //new char[7]; ??
for (int i = 0; i < word.length(); i++) //0-6 = 7
{
wordchar[i] = 'a';
}
cout << wordchar;
輸出:7aaaaaaa²²²²|||||ÂD╩2|♀
所需的輸出是:AAAAAAA ...什麼是它背後的垃圾?它是如何在那裏結束的?
是否因爲它是我自己需要做的動態字符? – user2141625
不,正如其他帖子所示,這是因爲C字符串是空終止的,這意味着您需要在末尾添加'\ 0'來爲此目的服務。 – taocp