Erreur de segmentation ???
Fermé
Utilisateur anonyme
-
24 juin 2008 à 00:36
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 24 juin 2008 à 01:26
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 24 juin 2008 à 01:26
A voir également:
- Erreur de segmentation ???
- Erreur de segmentation c - Astuces et Solutions
- Segmentation fault (core dumped) ✓ - Forum Programmation
- Erreur de segmentation (core dumped) ✓ - Forum C
- Erreur 1004 vba ✓ - Forum VB / VBA
- Erreur 1000 france tv - Forum MacOS
4 réponses
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 524
24 juin 2008 à 00:39
24 juin 2008 à 00:39
Salut,
printf(errno); est à remplacer par printf("%d\n", errno);
errno est un entier, pas une chaine. Quand tu mets un seul argument dans printf, il considère que c'est une chaine ;-)
printf(errno); est à remplacer par printf("%d\n", errno);
errno est un entier, pas une chaine. Quand tu mets un seul argument dans printf, il considère que c'est une chaine ;-)
ok
je modifie sa tous de suite
J'avoue que je n'est pas fais attention au warning de gcc
Mais j'étais pus concentrer sur le problème de segmentation
Enfin Merci quand même.
Et sinon pour le problème de segmentation tu n'as pas une idée ?
je modifie sa tous de suite
J'avoue que je n'est pas fais attention au warning de gcc
Mais j'étais pus concentrer sur le problème de segmentation
Enfin Merci quand même.
Et sinon pour le problème de segmentation tu n'as pas une idée ?
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 524
24 juin 2008 à 00:45
24 juin 2008 à 00:45
Si, pour moi l'erreur de segmentation c'est ça.
printf prend errno pour une adresse alors que dans errno il peut avoir n'importe quoi. printf accède à cette fausse adresse qui n'existe pas et ça plante!
printf prend errno pour une adresse alors que dans errno il peut avoir n'importe quoi. printf accède à cette fausse adresse qui n'existe pas et ça plante!
Utilisateur anonyme
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
24 juin 2008 à 01:08
24 juin 2008 à 01:08
Non l'erreur de segmentation ne vient pas de ça
J'ai mis le
De plus avec :
(modifier %d par %s qui est plus explicite)
J'ai mis le
printf(errno);car le code planter
De plus avec :
printf("%s\n", errno);
(modifier %d par %s qui est plus explicite)
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 524
>
Utilisateur anonyme
24 juin 2008 à 01:14
24 juin 2008 à 01:14
Non si tu mets %s il va prendre ça pour une chaine. Donc il va planter. Il faut mettre %d car c'est un entier.
Ou est la ligne 100 dans ton programme?
Ou est la ligne 100 dans ton programme?
Utilisateur anonyme
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
24 juin 2008 à 01:20
24 juin 2008 à 01:20
a oué :$
désoler
j'ai répondus trop vite sans chercher
et la ligne 100 était bien ce fameux
désoler
j'ai répondus trop vite sans chercher
et la ligne 100 était bien ce fameux
printf(errno);
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 524
>
Utilisateur anonyme
24 juin 2008 à 01:26
24 juin 2008 à 01:26
:-)
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
24 juin 2008 à 00:44
24 juin 2008 à 00:44
bonjour,
bon je t'avoue que le C n'est pas ma tasse de thé mais je suis intrigué par quelque chose si tu pouvais me renseigné ^^
s_accept = accept(sockDescripteur, (struct sockaddr *) &client_addr, &client_len);
client_len est un entier donc ce n'est pas nécessaire de mettre un &, je me trompe?
bon je t'avoue que le C n'est pas ma tasse de thé mais je suis intrigué par quelque chose si tu pouvais me renseigné ^^
s_accept = accept(sockDescripteur, (struct sockaddr *) &client_addr, &client_len);
client_len est un entier donc ce n'est pas nécessaire de mettre un &, je me trompe?
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 524
24 juin 2008 à 00:51
24 juin 2008 à 00:51
Si! C'est un paramètre qui sert en entrée et en sortie. En entrée: la taille du conteneur d'adresse: en sortie la taille de l'adresse retournée. Donc c'est bon.
N'oublie pas de regarder ma réponse au dessus pour l'erreur de segmentation.
N'oublie pas de regarder ma réponse au dessus pour l'erreur de segmentation.
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
24 juin 2008 à 00:52
24 juin 2008 à 00:52
ok merci de m'avoir éclairé ^^
Re-Salut,
Quand on l'enlève on obtient une erreur :
Et euh sinon pour ta question je rame un peu
J'essayerai d'y répondre demain mation après une bonne nuit
Quand on l'enlève on obtient une erreur :
warning: passing argument 3 of ‘accept’ makes pointer from integer without a cast
Et euh sinon pour ta question je rame un peu
J'essayerai d'y répondre demain mation après une bonne nuit
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
24 juin 2008 à 01:07
24 juin 2008 à 01:07
la réponse de kilian était parfaite mais je te remercie tout de même d'avoir essayé ^^