Je struct avec cette définition:C: strtok sur pointeur dans une struct
typedef struct gRow{
char *txt;
char *fileName;
int line;
} gRow;
et je veux utiliser strtok sur la chaîne txt. donc, dans une fonction qui a gRow *row
, je fais ceci:
strtok(row->txt, SEPERATOR_CHARACTERS);
et c'est le point où je reçois Segmentation Fault. si je le remplace par:
strtok(strdup(row->txt), SEPERATOR_CHARACTERS);
cela fonctionne très bien. des idées pourquoi?
Merci.
Shahar.
Initialisez 'row-> txt' correctement avant l'appel de' strtok'? –
N'oubliez pas de libérer la mémoire allouée avec strdup après avoir fini avec! – Jackson
Peter, j'ai fait. Jackson, Merci, je sais que je devrais le libérer - mais j'espère trouver une solution qui ne nécessite pas d'utiliser strdup. –