Comment free un char *** ?

kaervas Messages postés 51 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 19 avril 2008 - 14 févr. 2006 à 23:32
kaervas Messages postés 51 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 19 avril 2008 - 16 févr. 2006 à 09:01
Bonjour, j'ai un probleme pour free un char ***,
pour le char ** j'utilisais cette fonction (qui a priori marche):

void dfree(char **str)
{ int i;
for (i = 0; str[i], i++)
free(str[i]);
free(str[i]);
free(str); }

donc pour free un char *** normalement ceci devrait marcher:

void tfree(char ***str)
{ int i;
for (i = 0; str[i], i++)
dfree(str[i]);
dfree(str[i]);
free(str); }

mais non! erreurs avec glibc ou je sais plus trop mais ca marche pas...

2 réponses

julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
15 févr. 2006 à 00:08
Je pense que le dfree(str[i]); en dehors du for est en trop.

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
kaervas Messages postés 51 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 19 avril 2008
16 févr. 2006 à 09:01
Non ca ne marche toujours pas..
Rejoignez-nous