IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Récupérer valeur de main, avec cmd.exe (Windows)


Sujet :

C

  1. #1
    Membre éclairé Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Points : 871
    Points
    871
    Par défaut Récupérer valeur de main, avec cmd.exe (Windows)
    Bonjour,

    Juste un petit détail que j'ai pas réussi à trouver.
    C'est à propos de l'invite de commande de Windows XP.
    Je sais que sous Linux ya une commande qui permet de retrouver la valeur de retour d'un programme console, mais sous l'invite de commande de Win XP comment on fait ?

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut Re: Récupérer valeur de main, avec cmd.exe (Windows)
    Citation Envoyé par HanLee
    Juste un petit détail que j'ai pas réussi à trouver.
    C'est à propos de l'invite de commande de Windows XP.
    Je sais que sous Linux ya une commande qui permet de retrouver la valeur de retour d'un programme console, mais sous l'invite de commande de Win XP comment on fait ?
    Quelle est la question sur le langage C ?

    Le bon forum est "développement Windows".
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    La question n'est peut être pas si bête que ça, et a peut être sa place ici.

    En fait, je suppose que la question pourrait être la suivante :

    En C, on doit renvoyer un code d'erreur à la fin de la fonction main(). Cependant, est ce qu'il est possible de récupérer ce code d'erreur ?

    Je conçoit parfaitement que ceci n'est pas du C à proprement parler mais supposons que l'on ai un programme qui en appèle un autre, comment récupérer le code d'erreur de celui ci. (tout ceci en C).

    En tout cas, en voyant la question, c'est ce à quoi je pensait, parce que sinon, il n'y a pas grand interêt à récupérer le code d'erreur (si le programme plante ou s'il y a quelque chose qui ne se déroule pas bien, le programmeur affichera un message d'erreur sur la sortie standard)

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Je ne sais pas si sous command.com/cmd.exe, on peut récupérer cette valeur pour la mettre dans une variable, mais on peut la tester:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ERRORLEVEL <valeur> <action>
    L'action est exécutée si la valeur retournée par main est supérieure ou égale à <valeur>.

    Sous bash, c'est la variable $?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre éclairé Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Points : 871
    Points
    871
    Par défaut
    Citation Envoyé par PRomu@ld
    La question n'est peut être pas si bête que ça, et a peut être sa place ici.

    En fait, je suppose que la question pourrait être la suivante :

    En C, on doit renvoyer un code d'erreur à la fin de la fonction main(). Cependant, est ce qu'il est possible de récupérer ce code d'erreur ?

    Je conçoit parfaitement que ceci n'est pas du C à proprement parler mais supposons que l'on ai un programme qui en appèle un autre, comment récupérer le code d'erreur de celui ci. (tout ceci en C).

    En tout cas, en voyant la question, c'est ce à quoi je pensait, parce que sinon, il n'y a pas grand interêt à récupérer le code d'erreur (si le programme plante ou s'il y a quelque chose qui ne se déroule pas bien, le programmeur affichera un message d'erreur sur la sortie standard)
    Oui je pensais à ça, mais en même temps après j'viens de penser que c'était peut-être lié à l'OS. Après j'me suis dit que oups, j'aurais mettre en Windows. Bah ce serait bien de le déplacer quoi =)

  6. #6
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Ben dans un invite de commande apres ton programme tu tapes
    set mavar=%errorlevel%

    puis pour lafficher echo %mavar%
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  7. #7
    Membre éclairé Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Points : 871
    Points
    871
    Par défaut
    Merci bcp ça marche .

Discussions similaires

  1. Communication avec cmd.exe
    Par rota90 dans le forum Langage
    Réponses: 0
    Dernier message: 02/07/2013, 12h00
  2. Fonctionne en débug avec visual studio , mais pas avec cmd.exe
    Par olivier1209 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 10/04/2013, 15h02
  3. [RegEx] Récupérer valeur dans HTML avec preg_match_all
    Par cz1702 dans le forum Langage
    Réponses: 2
    Dernier message: 15/08/2012, 20h51
  4. Comment intéragir avec cmd.exe ?
    Par exempt154 dans le forum C++
    Réponses: 3
    Dernier message: 04/01/2008, 22h14
  5. Commande conditionnelle avec cmd.exe
    Par lastrecrue dans le forum Windows XP
    Réponses: 1
    Dernier message: 31/08/2006, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo