Comment utiliser les principales () les arguments de fonction dans la programmation de c

Retour au bon vieux temps, les programmes présentés options ou les commutateurs de ligne de commande. Par exemple, pour compiler et lier un programme C, vous devez taper quelque chose comme ceci:

Sommaire

la ex1501 de cc ex1501.c

Les trois bribes de texte après la commande cc sont les options ou les interrupteurs. Ils sont aussi des arguments à la fonction main (). Un programme peut lire ces arguments, même aujourd'hui, alors que le monde tourne systèmes d'exploitation graphiques. Tout ce que vous devez faire dans votre code est d'examiner les arguments de la fonction main ().

Comment lire la ligne de commande

Prétendre qu'il est 1987 et que vous avez écrit un programme qui dit “ Bonjour ” à l'utilisateur par son nom. La façon dont vous obtenez le nom de l'utilisateur est d'avoir votre code avaler le premier morceau de texte qui apparaît après le nom du programme à la ligne de commande. Ce code peut ressembler Eh bien, Bonjour!

SALUT TOI!

#include int main (int argc, char * argv []) {if (argc> 1) printf ("Bonjour,% s! n", argv [1]) - retour (0) -}

Ligne 5 utilise la valeur int argc pour déterminer si des éléments supplémentaires ont été tapés après le nom du programme à l'invite de commande.

Line 6 utilise la valeur de chaîne (de tableau de caractères) argv [1] pour afficher le premier élément après le nom du programme à l'invite de commande.

Exercice 1: Tapez le code source à partir Eh bien, Bonjour! dans un nouveau projet. Construire et exécuter.

Le programme affiche pas de sortie à moins d'un argument de ligne de commande est spécifié. Pour que cela se produise dans Code :: Blocks, suivez ces étapes:

  1. Choisissez Arguments projet-Set programmes.

    La boîte de dialogue Sélectionner la cible apparaît.

    image0.jpg
  2. Tapez le texte de ligne de commande dans la partie Arguments du programme de la boîte de dialogue Sélectionner la cible.




  3. Cliquez sur le bouton OK.

  4. Exécutez de nouveau votre programme pour voir sa production étant donné les arguments de ligne de commande.

Si vous codez à l'invite de commande, vous pouvez exécuter le programme comme ceci:

ex1501 Shadrach

Appuyez sur la touche Entrée pour exécuter le programme.

Le code utilise seulement le premier argument en ligne de commande, si vous tapez plus, ils sont ignorés. Par example:

ex1501 Shadrach Meshach Abed-Nego

Dans la ligne précédente, seul le nom de Shadrach apparaît dans la sortie.

Notions de base main ()«les arguments

Lorsque vous ne prévoyez pas sur votre programme d'accepter les arguments de ligne de commande, vous pouvez laisser les parenthèses de la fonction main () vide. Comme ça:

int main ()

Lorsque les arguments sont utilisés dans votre code, ils doivent être déclarés. Grâce à eux ressemble à ceci:

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

argc est la valeur d'un nombre d'arguments. Il est un entier qui va de 1 à cependant de nombreux articles ont été saisis après le nom du programme à l'invite de commande.

* argv [] est un tableau de pointeurs char. Vous pouvez penser que ce lieu comme un tableau de chaînes, ce qui est la façon dont il peut être utilisé dans votre code.

Le code dans Argument Contre compte simplement le nombre d'arguments tapées sur la ligne de commande. Cette valeur, argc, est affiché.

ARGUMENT COMPTEUR

#include int main (int argc, char * argv []) {printf ("Vous avez tapé% d arguments. n", argc) -retour (0) -}

Exercice 2: Tapez le code source précédente. Construire et exécuter en tapant pas d'arguments.

La fonction main () reçoit des informations sur l'argument de ligne de commande directement à partir du système d'exploitation. La ligne de commande est évaluée, et les arguments sont comptés et référencé. Le décompte apparaît comme argc, et les références sont stockées dans le argv [] tableau.

Lorsque aucun arguments sont tapés - dans Code :: Blocks, cela signifie que la fenêtre Arguments de programme reste vide - vous voyez cette sortie:

Vous avez tapé 1 arguments.

En effet, le nom du programme lui-même est considéré comme le premier argument. Vous pouvez le prouver en ajoutant une seule ligne de code:

printf ("Cet argument est% s. n", argv [0]) -

Exercice 3: Modifier votre code source en ajoutant la ligne précédente, l'insertion après la première déclaration printf (). Construire et exécuter.

La sortie du programme affiche maintenant le nom du programme - le plus probable, un chemin d'accès complet au programme, ce qui est exact, mais un peu exagéré.

Exercice 4: Modifiez le code à nouveau, cette fois en ajoutant une boucle de travailler à travers tous les arguments et l'affichage de chacun. Par exemple, la sortie peut ressembler à ceci:

begc4d $ ./ex1504 Shadrach Meshach AbednegoArg # 1 = ./ex1504Arg#2 = ShadrachArg # 3 = MeshachArg # 4 = Abed-Nego

» » » » Comment utiliser les principales () les arguments de fonction dans la programmation de c