[C] code retour négatif
Résolu/Fermé
almor57
Messages postés
17
Date d'inscription
mercredi 3 août 2005
Statut
Membre
Dernière intervention
22 septembre 2005
-
9 sept. 2005 à 17:30
almor57 Messages postés 17 Date d'inscription mercredi 3 août 2005 Statut Membre Dernière intervention 22 septembre 2005 - 13 sept. 2005 à 12:57
almor57 Messages postés 17 Date d'inscription mercredi 3 août 2005 Statut Membre Dernière intervention 22 septembre 2005 - 13 sept. 2005 à 12:57
A voir également:
- [C] code retour négatif
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Retour à la ligne excel - Guide
- Code activation windows 10 - Guide
1 réponse
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
507
9 sept. 2005 à 17:58
9 sept. 2005 à 17:58
Salut,
Une solution sans test => cast en char puis cast en int
Tes codes retour au lieu d'aller de 0 à 255, iront de -128 à 127.
A+, crabs
Une solution sans test => cast en char puis cast en int
code_retour = (int) ( (char) (WEXITSTATUS(status)) ) ;
Tes codes retour au lieu d'aller de 0 à 255, iront de -128 à 127.
A+, crabs
10 sept. 2005 à 17:37
fait plutot un
code_retour = WEXITSTATUS(status) - 128 ;
c'est bete mais ca marche
13 sept. 2005 à 12:57
Mon compilateur est GCC sous Mandrake 10.1.
Ta soluce est OK pour les codes retour <0 qui reviennent du WEXITSTATUS entre 128 et 255, mais quand ils sont positifs ... ta formule les rend négatifs.
En améliorant avec un
if (WEXITSTATUS(status) >= 128)
cret -= 128;
on retombe sur ma première solution
Ce qui m'intéresse, dans ce cas c'est de connaître les compilateurs avec lesquels ça pourrait ne pas marcher. Mon appli est destinée à être distribuée - gratuitement - sur des plate-formes que je ne connais pas à l'avance.
Merci
Merci quand même
13 sept. 2005 à 12:51
Merci bcp