Information

Author(s) Olivier Bonaventure
Deadline No deadline
Submission limit No limitation

Tags

Sign in

Traitement de ``argv``


Traitement de ``argv``

Un programme C doit souvent pouvoir manipuler les arguments qui lui sont passés. Les variables argc et argv qui sont passées à la fonction main permettent d'accéder à ces arguments. Le fragment de programme ci-dessous affiche sur la sortie standard ses différents arguments.

while(i<argc) {
    printf("%d %p %s\n",i,&(argv[i]),argv[i]);
    i++;
}

Un exemple d'exécution de ce fragment de programme est présenté ci-dessous :

#./a.out a b cd
0 0x7fff5fbff788 ./a.out
1 0x7fff5fbff790 a
2 0x7fff5fbff798 b
3 0x7fff5fbff7a0 cd

A côté de la notation argv[i], il est aussi possible d'accéder à argv en utilisant des pointeurs. Parmi les fragments de programme ci-dessous, un seul est correct et affiche le même résultat que ci-dessus.