Bonjour à tous,
J'ai un petit souci lors d'allocation mémoire dans une de mes programmes.
J'alloue dynamiquement de la mémoire pour pouvoir conserver des pointeurs su des caracteres (le but étant de marquer certains caracteres d'une chaine et d'en conserver une trace).
Je dois donc allouer plusieurs fois une taille égale à n*sizeof(char *) ou n*4 dan smon cas.
Cependant lorsque j'effectue mon realloc, celui-ci m'écrase une partide ma mémoire allouée précédemment, comme si il ne pointait plus au bon endroit.
Voila mon code simplifé :
Quelqu'un aurait une idée ? A moins que je n'aie pas tout compris !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 strcpy(chaine, "Bonjour/a/tous"); lS_tok = (char**) malloc (4); *(lS_tok) = chaine; lS_tok = (char**) realloc (lS_tok, 8); *(lS_tok+4) = (chaine+8); lS_tok = (char**) realloc (lS_tok, 12); *(lS_tok+8) = (chaine+10);
Partager