Есть массив char str[] = "abcdef";
И динамический массив:
char *dstr = (char*)malloc(sizeof(char) * N);
Как скопировать str[] в dstr[] ?
P.S. Заранее извиняюсь, если вопрос глупый.
Ответ
Есть 3 способа, нативное копирование области памяти, специальной функцией копирования строк, посимвольный перебор массива и запись в dstr
memcpy(&str, &dstr, strlen(str) + 1); // Копирование области памяти
strcpy(dstr, str); // Специальная функция для строки
// Перебор массива циклом.
int strsize = strlen(str) + 1;
for(int i = 0; i < strsize ; i++)
{
dstr[i] = str[i];
}
Имейте ввиду, в обоих случаях вы должны быть уверены что размер dstr больше на 1 чем длина строки str
Комментариев нет:
Отправить комментарий