SIGABRT sur un fclose
Résolu/Fermé
Dayan42
Messages postés
18
Date d'inscription
lundi 23 décembre 2013
Statut
Membre
Dernière intervention
9 août 2015
-
Modifié par Dayan42 le 26/04/2015 à 21:00
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 28 avril 2015 à 10:45
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 28 avril 2015 à 10:45
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
26 avril 2015 à 21:37
26 avril 2015 à 21:37
Je sais que fopen fais des malloc et que fclose des free
Euh non... Ni l'un, ni l'autre.
Pourrais-tu montrer ton programme en entier ? Notamment la partie qui définie buff, fichier et tab_char.
Euh non... Ni l'un, ni l'autre.
Pourrais-tu montrer ton programme en entier ? Notamment la partie qui définie buff, fichier et tab_char.
sambia39
Messages postés
610
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
9 février 2023
49
28 avril 2015 à 10:45
28 avril 2015 à 10:45
Bonjour ( & hi @fiddy )
@Dayan42 Ton problème vient clairement de la fonction de délocalisation
Quant à "sigabrt" c'est une de tes fonctions ou bibliothèque qui y a fait appel grâce à la fonction abort().
à bientôt
@Dayan42 Ton problème vient clairement de la fonction de délocalisation
free( void *ptr )ton pointeur doit être corrompu plus précisément a cause d'un écrasement mémoire et je soupçonne ta variable d'incrémentation ' I' il se peut qu'elle soit la cause de ton erreur.
Quant à "sigabrt" c'est une de tes fonctions ou bibliothèque qui y a fait appel grâce à la fonction abort().
à bientôt
Modifié par Dayan42 le 26/04/2015 à 21:49
voici la fonction entiere donc :
je ne peux montrer le programme en entier, j'ai plus de 8 fichiers.c qui font 500 lignes.. mais comme j'ai dit c'est venu d'un moment à l'autre, le programme marchait tres bien cet apres midi
26 avril 2015 à 23:32
Il manque toujours la déclaration des variables demandées. Ce qu'il y a dans le prototype n'est pas suffisant.
Note :
fclose(fichier);
Je te conseille d'initialiser fichier à NULL; juste après. Ce n'est pas obligatoire, mais cela évite les mauvaises surprises.
while(fgets(buff,TAILLE_MOT,fichier) != NULL){
strcpy(tab_char[i] , buff);
i++;
}
Pourquoi ne pas écrire directement dans tab_char[i] ?