Duplicar posibles:
strtok wont accept: char *strstrtok - matriz de caracteres frente puntero char
Al utilizar la función strtok
, utilizando un char *
en lugar de un char []
da como resultado un fallo de segmentación.
Esto funciona correctamente:
char string[] = "hello world";
char *result = strtok(string, " ");
Esto provoca un fallo de segmentación:
char *string = "hello world";
char *result = strtok(string, " ");
¿Puede alguien explicar por qué causa esta diferencia de comportamiento?
Muchas buenas respuestas, pero encontré este el más claro ejemplo del problema fundamental. –
+1 excelente explicación –