我已經嘗試了很多針對此問題的建議解決方案,但都沒有成功。C++從數組複製到數組
我有一個長度爲1000的常量字符數組,名爲english_line其中包含由空格分隔的單詞。這個數組被傳遞給一個函數。根據我們的任務摘要,必須使用此功能來實施解決方案。
我想這個數組的內容,一個字一次複製到另一個二維數組,temp_eng_word
char temp_eng_word[2000][50];
int j;
string line = english_line;
string word;
istringstream iss(line, istringstream::in);
while (iss >> word)
{
for (j=0;j<=2000;j++)
{
strcpy(temp_eng_word[j],word);
}
}
`
當我運行它,我得到的錯誤:
cannot convert 'std::string* *{aka std::basic_string(char)}' to 'const char*' for argument '2' to 'char* strcpy(char*, const char*)'
我花了一天的最好的部分只是試圖做這個問題;顯然我是這個相對的新手。
任何提示或建議,將不勝感激:)
在'for'循環中有條件'j <= 2000',你將循環一次到多次。 – 2013-05-07 08:16:21
我也認爲你的程序中的邏輯有點偏離。現在,將第一個單詞複製到數組的所有2000(或2001,如果不更改您的條件)條目。然後,將第二個單詞複製到數組的所有2000個條目中,覆蓋第一個單詞。等等。爲什麼使用數組數組?爲什麼不是'std :: string'的std :: vector? – 2013-05-07 08:18:53
更好地使用std :: vector with push_back ...然後你不必關心大小 –
Mario
2013-05-07 08:19:37