SysAdmin wrote:
ok ok Je me suis mal exprim�.Je suppose que ta fonction realloc est appelee a l'interieur d'une fonction a toi et qui prend chaine_a et chaine_b en parametre. Dans ce cas, tu devrais passer un pointeur sur le pointeur chaine_a et le dereferencer a l'interieur de la fonction:
En fait, effectivmeent, ayant r��crit la fonction pour
qu'elle soit lisible (extraite de l'appli, ca ne
l'�tais pas), j'ai oubli� la somme des 2 longueur.
J'ai �galement volontairement omis les instruction de
copies de chaine, ��tant donn� que mon probl�me se
situe sur REALLOC. En effet c'est cette instruction
qui plante en segmentation fault. Les instruction
d'ajout de chaine ne me posent pas de probl�me, c'est
simplement l'assignation de la m�moire.
D'autre part, pour des choix de d�veloppement, je en
veux pas que ma fonction retourne une pointeur, mais
un int qui dira si la fonction s'est bien d�roul�e ou
non, a la fonct appelante. Le pointeur chaine_a
pointera sur une chaine de charact�re qui aura �t�
modifi�e dans la fonction qui nous concerne
C'est donc bien le realloc (chaine_a, (strlen(chain_a)+strlen(chaine_b));
int test;
test = append(&chaine_a, chaine_b);
....
int append(char ** pchaine_a, char * chaine_b) {
*pchaine_a = realloc(*pchaine_a, (strlen(*pchaine_a) + strlen(chaine_b));
patati et patata....
}
Code non teste:-)
En esperant t'avoir aide
Frederic
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? Rendez-vous sur "http://www.mandrakestore.com"
