Langage C

Hocine -  
BloodyAngel Messages postés 1487 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
comment convertir un paramètre du main en entier (ex. argv[1]='5' -> 5)
Configuration: Linux Fedora
Firefox 2.0.0.5

2 réponses

  1. bullder
     
    Bonjour,

    Il faut simplement utiliser la fonction atoi.

    #include <stdlib.h>
    int atoi( const char *str );

    int i = atoi( "512" ); // results in i == 512

    Voila
    2
  2. BloodyAngel Messages postés 1487 Date d'inscription   Statut Contributeur Dernière intervention   403
     
    Fais gaffe que la fonction atoi te renverra zéro si ton char n'est pas un nombre entier.
    exemple :
    int i = atoi("zzz"); <--- te renverra zéro
    int i = atoi("0") <--- te renverra zéro également

    donc pour bien faire, et si tu risques de rencontrer des zéros dans le cadre de ton programme, il faudra chaque fois vérifier que ton char n'est pas "0", sinon tu l'interprètera à tort comme une erreur...

    Par contre si tu ne risques pas de rencontrer de zéro dans ton programme, il n'y a pas de problème.
    2