動態分配內存所以主要問題是有運行時錯誤代碼:錯誤當一個char *
char *wordBank[]= {new char[numWords+1]};
char buffer1[41];
for(int i=0; i<numWords;i++){
ifile >> buffer1;
int len = strlen(buffer1);
cout << buffer1<<"and"<<len <<endl;
wordBank[i] = new char[len + 1];
strncpy(wordBank[i], buffer1,len);
cout << wordBank[i]<<"and"<<len <<endl;
}
是它開始亂用是什麼的Wordbank。它將文本從txt文件中獲取到buffer1中,然後將其複製到動態分配的wordBank的char *數組中。但是,我總是會出現分段錯誤,而且這些詞都是不正確的。我做錯了什麼?
'wordbank'只有一個元素。 'numWords'是該元素中的字符數。 – Barmar 2015-02-10 02:10:01
你想要:'std :: string wordBank [MAX_WORDS];'。不要亂用C風格的字符串。 – 2015-02-10 02:12:03
@ThomasMatthews你想'std :: vector wordBank;'不要亂搞C! –
2015-02-10 02:13:07