Comment accéder aux paramètres de ligne de commande en C

Apprenez à accéder aux paramètres de ligne de commande en C

Dans votreCprogrammes, vous devrez peut-être accepter les paramètres de la ligne de commande au lancement de la commande.

Pour des besoins simples, il vous suffit de changer lemain()signature de fonction de

int main(void)

à

int main (int argc, char *argv[])

argcest un nombre entier qui contient le nombre de paramètres fournis dans la ligne de commande.

argvest undéployerde cordes.

Lorsque le programme démarre, on nous fournit les arguments dans ces 2 paramètres.

Notez qu'il y a toujours au moins un élément dans leargvarray: le nom du programme

Prenons l'exemple du compilateur C que nous utilisons pour exécuter nos programmes, comme ceci:

gcc hello.c -o hello

Si c'était notre programme, nous aurionsargcétant 4 etargvétant un tableau contenant

  • gcc
  • hello.c
  • -o
  • hello

Écrivons un programme qui imprime les arguments qu'il reçoit:

#include <stdio.h>

int main (int argc, char *argv[]) {
  for (int i = 0; i < argc; i++) {
    printf("%s\n", argv[i]);
  }
}

Si le nom de notre programme esthelloet nous l'exécutons comme ceci:./hello, nous obtiendrions ceci en sortie:

./hello

If we pass some random parameters, like this: ./hello a b c we’d get this output to the terminal:

./hello
a
b
c

This system works great for simple needs. For more complex needs, there are commonly used packages like getopt.

Download my free C Handbook


More clang tutorials: