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 :

[Debutant ] Test des arguments du programme


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 67
    Points : 50
    Points
    50
    Par défaut [Debutant ] Test des arguments du programme
    Bonjour,

    Je voudrais savoir comment tester si l'argument passé en paramètre du programme(main) est un entier.

    J'ai vu que la fonction atoi(char*) faisait la conversion sans test de validité, et prenait les premiers etiers qu'elle trouvait. Existe-t-il une fonction qui renvoit du genre -1 ou nul si le paramètre passé pour conversion n'est pas un entier?

    Merci pr votre aide

  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: [Debutant ] Test des arguments du programme
    Citation Envoyé par peaceinpal
    Je voudrais savoir comment tester si l'argument passé en paramètre du programme(main) est un entier.

    J'ai vu que la fonction atoi(char*) faisait la conversion sans test de validité, et prenait les premiers etiers qu'elle trouvait. Existe-t-il une fonction qui renvoit du genre -1 ou nul si le paramètre passé pour conversion n'est pas un entier?
    sscanf() avec "%d" renvoie le nombre de conversions réussies.
    Sinon, une utilisation un peu 'avancée' (pas trop, quand même) de strto[u]l() permet da savoir si la conversion s'est bien passée.
    Pas de Wi-Fi à la maison : CPL

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 67
    Points : 50
    Points
    50
    Par défaut
    Je te remercie, j'ai fianlement utilisé strtol en testant si le pointeur sur le premier argument invalide était NULL (inexistant).


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 21/01/2010, 18h35
  2. Réponses: 1
    Dernier message: 23/07/2007, 11h00
  3. Lancer un programme avec des arguments via IE...
    Par petozak dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 24/03/2006, 11h51

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