Comment passer des arguments de ligne de commande à un programme c
J'ai su comment écrire un programme qui accepte arguments de ligne de commande depuis que j'ai appris à programmer. Ce que je ne comprends pas, c'est comment ces paramètres obtenir leurs valeurs. J'espère ne pas avoir ces deux mélangés, mais il y a une différence entre un argument et d'un paramètre. Un argument est la valeur donnée à la fonction lorsqu'elle est appelée comme: foo( a, b, c), où a, b, et c sont les valeurs. Un paramètre est les valeurs qui sont à l'intérieur de la fonction est appelée.
Donc ma question est comment une personne peut passer de la ligne de commande arguments à un programme? Je comprends comment lire les arguments, que argc
est le nombre d'arguments, argv
est un pointeur vers un tableau de chaînes contenant les arguments, etc. etc. mais je ne sais pas comment faire pour donner à ces arguments une valeur..
Je suis à la recherche d'informations à la fois pour C et C++. Je suis un peu novice dans ce domaine.
source d'informationauteur Braineeee | 2013-07-15
Vous devez vous connecter pour publier un commentaire.
Dans un environnement Windows, vous venez de passer sur la ligne de commande comme ceci:
argv[1] contient arg1 etc
La fonction principale serait la suivante:
Sur *nix:
Sur la ligne de commande Windows:
Dans les deux cas, compte tenu de la
main
est déclarée comme suit:argc
sera unint
avec une valeur de 3,argv[1] = "arg1"
argv[2] = "arg2"
en outre,argv[0]
aura le nom du programme,my_prog
.Arguments de ligne de commande sont normalement séparés par un espace, si vous souhaitez passer un argument avec un espace, comme
hello world
utiliser une double citation:Sur *nix, il y a une très belle utilitaire qui vous permet d'analyser les options de ligne de commande et les arguments d'une manière très simple. Il y a un bel exemple de son utilisation sur la même page.
Vous exécutez votre programme et de passer des arguments à une très normalisée:
$ ./my_app -a -b -c argument1 argument2
Vous pouvez faire sans et il suffit de les analyser sur votre propre, mais si vous visez pour que votre application soit utile à d'autres personnes, il est certainement en valeur l'effort de les rendre conformes.
Suffit de cliquer sur le menu démarrer et tapez cmd dans l'index de recherche...appuyez sur entrée ..maintenant dans la fenêtre cmd type de commande suivante...
"program_name arg1 arg2" (sans les guillemets) et appuyez sur la touche entrée...et oui, c'est fait!
et