O ponteiro de string aponta o processador para o primeiro elemento (endereço de memória) de um vetor para que ele leia os dados até que encontre um byte nulo (NULL, 0, '\0). Portanto, certifique-se de que a variável de destino possua espaço suficiente para receber o dado.
char *ditado = "O rato roeu a roupa\0 do rei de roma"; // output: O rato roeu a roupa
char ditado[10] = "O rato roeu a roupa do rei de roma"; // output: O rato roe
Ao declarar uma variável, verifique se ela foi atribuída com um valor inicial. Isso previne que a variável seja valorada com lixo de memória.