나는이 문제에 대한 많은 제안 해결책을 시도했지만 성공하지 못했습니다.C++ 배열에서 배열로 복사
길이가 1000 인 const char 배열이 english_line이며 공백으로 구분 된 단어가 포함되어 있습니다. 이 배열은 함수로 전달됩니다. 이 기능은 과제 요약에 따라 솔루션을 구현하는 데 사용해야합니다. 나는이 프로그램을 실행할 때
나는 다른 2 차원 배열로 한 번에 그 배열의 내용을 하나 개의 단어를 복사 할, 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' 조건을 사용하면 한 번에 여러 번 반복 할 것입니다. –
나는 또한 당신의 프로그램에있는 논리가 조금 벗어난 것이라고 생각한다. 지금은 배열의 모든 항목을 모든 2000 (또는 조건을 변경하지 않은 경우 2001)에 복사합니다. 그런 다음 두 번째 단어를 배열의 모든 2000 항목에 복사하여 첫 번째 단어를 덮어 씁니다. 등등. 배열 배열을 사용하는 이유는 무엇입니까? 왜'std :: string'의'std :: vector'가 아닌가? –
더 나은 표준을 사용하십시오 : 벡터 push_back ... 그럼 당신은 크기에 대해 신경 쓸 필요가 없습니다 –
Mario