Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

C - Arguments de la ligne de commande

Il est possible de passer certaines valeurs de la ligne de commande à vos programmes C lors de leur exécution. Ces valeurs sont appelées arguments de ligne de commande et souvent, ils sont importants pour votre programme, en particulier lorsque vous souhaitez contrôler votre programme de l'extérieur au lieu de coder en dur ces valeurs dans le code.

Les arguments de la ligne de commande sont gérés à l'aide des arguments de la fonction main() où argc fait référence au nombre d'arguments passés, et argv[] est un tableau de pointeurs qui pointe sur chaque argument passé au programme. Voici un exemple simple qui vérifie s'il y a un argument fourni à partir de la ligne de commande et agit en conséquence −

#include <stdio.h>

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

   if( argc == 2 ) {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 ) {
      printf("Too many arguments supplied.\n");
   }
   else {
      printf("One argument expected.\n");
   }
}

Lorsque le code ci-dessus est compilé et exécuté avec un seul argument, il produit le résultat suivant.

$./a.out testing
The argument supplied is testing

Lorsque le code ci-dessus est compilé et exécuté avec deux arguments, il produit le résultat suivant.

$./a.out testing1 testing2
Too many arguments supplied.

Lorsque le code ci-dessus est compilé et exécuté sans passer d'argument, il produit le résultat suivant.

$./a.out
One argument expected

Il convient de noter que argv[0] contient le nom du programme lui-même et argv[1] est un pointeur vers le premier argument de ligne de commande fourni et *argv[n] est le dernier argument. Si aucun argument n'est fourni, argc sera un, et si vous passez un argument alors argc est fixé à 2.

Vous passez tous les arguments de ligne de commande séparés par un espace, mais si l'argument lui-même a un espace, vous pouvez passer de tels arguments en les mettant entre guillemets doubles "" ou guillemets simples ''. Réécrivons une fois de plus l'exemple ci-dessus où nous imprimerons le nom du programme et nous passerons également un argument de ligne de commande en mettant entre guillemets doubles −

#include <stdio.h>

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

   printf("Program name %s\n", argv[0]);
 
   if( argc == 2 ) {
      printf("The argument supplied is %s\n", argv[1]);
   }
   else if( argc > 2 ) {
      printf("Too many arguments supplied.\n");
   }
   else {
      printf("One argument expected.\n");
   }
}

Lorsque le code ci-dessus est compilé et exécuté avec un seul argument séparé par un espace mais à l'intérieur de guillemets doubles, il produit le résultat suivant.

$./a.out "testing1 testing2"

Program name ./a.out
The argument supplied is testing1 testing2

Langue C

  1. Décodeur
  2. Arguments de la fonction Python
  3. Arguments de ligne de commande Java
  4. Qu'est-ce que l'efficacité de la ligne ?
  5. Qu'est-ce qu'une chaîne de production ?
  6. Qu'est-ce qu'une ligne de construction ?
  7. Qu'est-ce qu'un robinet pont ?
  8. Qu'est-ce qu'une chaîne de montage ?
  9. Une introduction à la ligne de refendage de précision