paramètres de ligne de commande C
Lors de l'exécution du programme, la ligne de commande peut transmettre des valeurs au programme C. Ces valeurs sont appeléesarguments de ligne de commande,ils sont importants pour le programme, surtout si vous souhaitez contrôler à partir d' un programme externe, et non pas dans le code lorsque ces valeurs sont codés en dur, il est particulièrement important.
paramètres de ligne de commande est d'utiliser la fonction main () pour traiter les paramètres,dans lequel, argc se réfère au nombre de paramètres transmis,argv [] est un tableau de pointeurs, chacun des paramètres passés au point de programme. Voici un exemple simple pour vérifier s'il y a une ligne de commande argument est fourni, et effectuer l'action appropriée en fonction des paramètres:
#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"); } }
Utilisez un paramètre, compiler et exécuter le code ci-dessus, il va produire les résultats suivants:
$./a.out testing The argument supplied is testing
Deux arguments, compiler et exécuter le code ci-dessus, il va produire les résultats suivants:
$./a.out testing1 testing2 Too many arguments supplied.
Ne pas passer de paramètres, compiler et exécuter le code ci-dessus, il va produire les résultats suivants:
$./a.out One argument expected
Il convient denoter, argv [0] pour enregistrer le nom du programme,argv [1] est un pointeur vers le premier argument de ligne de commande pointeur, * argv [n] est le dernier paramètre. Si aucun argument, argc sera 1. Dans le cas contraire, si vous passez unparamètre, argc serait fixé à 2.
Entre une pluralité de paramètres de ligne de commande séparés par un espace, mais si l'argument lui-même avec l'espace, puis passer des paramètres lorsque les paramètres doivent être placés entre guillemets "" ou des guillemets simples '' intérieur. Réécrivons l'exemple ci-dessus, il y a un espace, vous pouvez alors la vue, mettez-les entre guillemets doubles ou simples. "" "." Réécrivons l'exemple ci-dessus, pour passer d'un programme placé à l'intérieur des paramètres de ligne de commande de guillemets:
#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"); } }
Utilisez un simple paramètre séparés par des espaces, des paramètres entre guillemets, compiler et exécuter le code ci-dessus, il va produire les résultats suivants:
$./a.out "testing1 testing2" Progranm name ./a.out The argument supplied is testing1 testing2