Langage C

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. 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
    1. Contributeur
      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