[C] argv[1]

Résolu
mathieu -  
 ParisTech -
Bonjour,
j'aimerais comprendre pourquoi lorsque je fais ceci cela ne marche pas :

int main(int argc, char *argv[])
{
char lettre= argv[1];
printf("caractere %c\n", lettre);
printf("arg 1 : %c\n", argv[1]);

return EXIT_SUCCESS;
}

Je lance mon programme qui s'appelle test en tapant simplement :
test F

Et cela ne m'affiche rien dans le printf, j'ai un blanc quoi au lieu d'avoir la lettre F.
Pouvez-vous m'expliquer ?
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. (Pabix) Messages postés 600 Statut Membre 81
     
    Pour simplifier, déclarer char *argv[], équivaut exactement à déclarer char **argv.
    2
    1. ParisTech
       
      merci pour l'exlication
      0
  2. (Pabix) Messages postés 600 Statut Membre 81
     
    Attention, j’ai posté deux messages, mais je ne suis qu’un. Bonne soirée.
    1
  3. (Pabix) Messages postés 600 Statut Membre 81
     
    bonjour, argv[1] est de type char *, et pas de type char.

    Pour avoir la 1re lettre du 1er argument, vous devez faire :

    char lettre = argv[1][0] ;
    ou
    char lettre = *(agrv[1]) ;
    0
  4. mathieu
     
    HAAAAAAAAAA oui c'est vrai le *argv[], un pointeur sur tableau soit **argv
    merci beaucoup à vous deux
    0