(langage c) erreur lors de l'execution
Résolu/Fermé
ziedzico
Messages postés
393
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
12 avril 2014
-
2 nov. 2008 à 22:37
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 3 nov. 2008 à 08:03
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 3 nov. 2008 à 08:03
A voir également:
- (langage c) erreur lors de l'execution
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Langage binaire - Guide
- Erreur d'exécution 13 incompatibilité de type ✓ - Forum Programmation
3 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
3 nov. 2008 à 01:06
3 nov. 2008 à 01:06
Salut,
J'ai pas tout regardé précisément. Mais, déjà je vois des fautes que tu peux corriger.
if(trouve=="Vrai") En C, une comparaison entre deux chaînes de caractères ne se fait pas comme ça sous peine d'avoir la condition toujours fausse. On utilise la fonction strcmp de string.h. Un petit man strcmp pour plus de renseignements.
Ensuite, tu peux pas faire
struct pidpipe pidepipe[p]; (pareil pour l'autre structure).
"p" n'est pas connu au moment de la compilation, donc tu n'auras pas d'allocations. D'où probablement le segfault.
Si tu veux allouer p fois la structure. Tu dois le faire dynamiquement avec malloc de stdlib.h. Pareil, un petit man pour voir son utilisation.
Cdlt
J'ai pas tout regardé précisément. Mais, déjà je vois des fautes que tu peux corriger.
if(trouve=="Vrai") En C, une comparaison entre deux chaînes de caractères ne se fait pas comme ça sous peine d'avoir la condition toujours fausse. On utilise la fonction strcmp de string.h. Un petit man strcmp pour plus de renseignements.
Ensuite, tu peux pas faire
struct pidpipe pidepipe[p]; (pareil pour l'autre structure).
"p" n'est pas connu au moment de la compilation, donc tu n'auras pas d'allocations. D'où probablement le segfault.
Si tu veux allouer p fois la structure. Tu dois le faire dynamiquement avec malloc de stdlib.h. Pareil, un petit man pour voir son utilisation.
Cdlt
ziedzico
Messages postés
393
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
12 avril 2014
112
3 nov. 2008 à 02:04
3 nov. 2008 à 02:04
c bete je sais pas comme je laisse parfois faire des choses debiles j'ai cru un autre prob !
le faite de ; ne pas mettre \n apre %d
et il faut faire la creatio des struct avec des entiers connus (apres les scanf p et taille)
merci enormement pour votre attention
le faite de ; ne pas mettre \n apre %d
et il faut faire la creatio des struct avec des entiers connus (apres les scanf p et taille)
merci enormement pour votre attention
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
3 nov. 2008 à 08:03
3 nov. 2008 à 08:03
Salut,
Je n'ai pas étudié le code en profondeur comme l'a fait fiddy ;-)
A savoir que malgré tes erreurs le compilateur ne les montre pas toujours
http://www.commentcamarche.net/forum/affich 9221677 erreur de segmentation langage c?#1
Donc, je pense qu'il faut reprendre ton code tout en écoutant les conseils de fiddy.
Je n'ai pas étudié le code en profondeur comme l'a fait fiddy ;-)
A savoir que malgré tes erreurs le compilateur ne les montre pas toujours
http://www.commentcamarche.net/forum/affich 9221677 erreur de segmentation langage c?#1
Donc, je pense qu'il faut reprendre ton code tout en écoutant les conseils de fiddy.