我已经尝试了很多针对此问题的建议解决方案,但都没有成功。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