[Powered by Google Translate] [Arguments de ligne de commande] [Christophe Barthélémy - Université de Harvard] [C'est CS50 - CS50.TV] Une caractéristique utile pour un programme consiste à accepter l'entrée de l'utilisateur. Jusqu'à présent, nous avons exploré certaines fonctions au sein de la bibliothèque CS50 pour accepter l'entrée d'utilisateur, tels que "get chaîne" qui demande à l'utilisateur, alors que l'application est en cours d'exécution, d'une chaîne. Cependant, il ya des cas où vous souhaitez fournir votre entrée de programme avant qu'il ne soit en cours d'exécution. De cette façon, vous n'avez pas besoin de demander des informations complémentaires auprès de votre utilisateur lors de l'exécution d'une tâche simple. Prenez, par exemple, la commande de mouvement mv ou sous UNIX. Cette commande permet à l'utilisateur de déplacer un fichier d'un emplacement à un autre. Selon les pages de manuel, mv accepte deux arguments de ligne de commande: le fichier est déplacé et l'emplacement du fichier est déplacé vers. Ainsi, cet exemple a une commande avec deux arguments. Alors, comment pouvons-nous dire à notre programme en C pour utiliser ces arguments de ligne de commande? Eh bien, il s'avère que le principal, que nous utilisons dans tous les programmes C, a un secret. Principal accepte deux paramètres: argc et argv. Passons en revue ces termes. Le premier paramètre, argc, qui signifie nombre d'arguments, a un type de données entier. Le paramètre argc contient le nombre d'arguments, y compris la commande. Dans notre commande de mouvement, même si nous avons seulement deux arguments affiché, valeur argc sera 3. Le deuxième paramètre, argv, qui signifie vecteur d'arguments, est un tableau de pointeurs de type char qui pointent vers des chaînes. Cela signifie que chaque élément de argv, à partir de zéro, contenant la commande et ses arguments. Par exemple, argv [0], ce que je ferai référence comme argv zéro, contiendra toujours la commande qui est en cours d'exécution - dans ce cas, mv. argv [1] contient le premier argument, fichier.txt, et argv [2] contiendra le second argument, ~ / CS50 /. Le dernier argument de argv sera toujours nulle. Donc, nous allons mettre en œuvre ces arguments de ligne de commande. Dans les exercices précédents, nous avons placé nulle, ce qui signifie rien, comme paramètre principal. Toutefois, pour que nous puissions utiliser la ligne de commande arguments, nous avons besoin d'enlever l'intérieur vide et le lieu de principal int argc, char * argv []. Maintenant, pour accéder à tout l'élément de argv, quels sont vos arguments, vous pouvez simplement itérer, ou une boucle, à travers le tableau comme celui-ci. Ainsi, à l'intérieur du corps principal, nous allons aller de l'avant et tapez une boucle for: for (int i = 0; i