C - не работает копирование строк по указателю
не работает копирование строк по указателю.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char *src = "abcdefgh[xx]ggggg";
printf("src: |%s|\n", src);
char *dst = malloc(strlen(src));
while((*dst++ = *src++));
printf("dst: |%s|\n", dst);
return 0;
}
Проблема в том, что кусок кода должен копировать строку в другую и печатать её. В дебаггере, в строку копируется какой-то мусор, а печатается какой-то бред. (Каждый раз разный). При этом, если использовать массивы - всё прекрасно.
Почему так?
Спасибо.