Я просто хочу скопировать массив строки в динамический массив (используя новый оператор) без использования string.h из C++ как я могу копировать массив?как скопировать массив строки в динамический массив в C++
enter code here
const int LEN=3;
int n=15;
char*s1 ;
char *s[LEN]={"music","disc","soft"};
char (*str)[LEN]=new char[n][LEN]; //i want to copy s to this array
я пытаюсь сделать что-то вроде этого
for(int i=0; i<LEN ;i++){
strcpy(str[i],s[i]);
}
for(int i=0; i<LEN ;i++)
cout<<str[i]<<endl;
но печать всего массива в одной последовательности, я думаю, что проблема с NULL терминатором я не в настоящее время нет, как бороться с
[ 'зЬгсру()'] (Http: // ан .cppreference.com/ш/с/строки/байт/зЬгсру). И 'new char [n] [LEN];' неверно. –
Отсутствует 'const', неиспользуемая переменная' s1' и устаревший комментарий ... – Jarod42
Не используйте 'char *' в C++, пожалуйста. Это просто больно, и в 99% случаев правильная 'std :: string' - это то, что вы хотите. Кроме того, используйте 'std :: vector' (или, может быть,' std :: array'), даже если это означает, что вы набираете немного больше. –