Segmentation fault dans un programme C
Fermé
macha
-
31 oct. 2008 à 20:07
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 nov. 2008 à 00:21
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 2 nov. 2008 à 00:21
A voir également:
- Segmentation fault dans un programme C
- Programme demarrage windows 10 - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Mettre en veille un programme - Guide
- Forcer la fermeture d'un programme - Guide
- Desinstaller un programme - Guide
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
31 oct. 2008 à 21:01
31 oct. 2008 à 21:01
Salut,
Avant de poster, merci d'utiliser les balises de code (à droite de souligner) pour garder l'indentation car c'est illisible.
Sinon, ton code donne un segfault car tu n'as pas le fichier eleves.txt de créer dans le répertoire courant. Voilà pourquoi, il faut toujours vérifier les valeurs de retour.
Du genre :
Comme ça, ça évite les bugs, et en plus ça t'aide à savoir d'où vient l'erreur.
Rem : Ton code contient peut-être des erreurs, j'ai juste regarder pour le segfault comme demandé ;)
Cdlt
Avant de poster, merci d'utiliser les balises de code (à droite de souligner) pour garder l'indentation car c'est illisible.
Sinon, ton code donne un segfault car tu n'as pas le fichier eleves.txt de créer dans le répertoire courant. Voilà pourquoi, il faut toujours vérifier les valeurs de retour.
Du genre :
FILE *fp; if((fp=fopen(...)) ==NULL){ puts("erreur"); exit(-1);
Comme ça, ça évite les bugs, et en plus ça t'aide à savoir d'où vient l'erreur.
Rem : Ton code contient peut-être des erreurs, j'ai juste regarder pour le segfault comme demandé ;)
Cdlt
Le truc c'est que j'avais bien créé un fichier eleves.txt dans le répertoire courant quand j'ai testé ce programme. donc je me dis que ça doit venir d'ailleurs...
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
2 nov. 2008 à 00:21
2 nov. 2008 à 00:21
Oui, mais en informatique, "se dire" ne suffit pas. Il faut être sûr. Donc mets le code que je t'ai mis à la place du tien, et poste le résultat que tu obtiens à l'exécution.