diferença entre char * e char [] com strcpy ()
Eu tenho tido problemas nas últimas duas horas com um problema que eu entendi. Aqui está o meu problema:
void cut_str(char* entry, int offset) {
strcpy(entry, entry + offset);
}
char works[128] = "example1\0";
char* doesnt = "example2\0";
printf("output:\n");
cut_str(works, 2);
printf("%s\n", works);
cut_str(doesnt, 2);
printf("%s\n", doesnt);
// output:
// ample1
// Segmentation: fault
Eu sinto que há algo importante sobre char * / char [] que não estou chegando aqui.