Oui, c'est surtout ça, argv[1]
est le deuxième paramètre de la ligne de commande. Le premier paramètre de la ligne de commande est le nom du programme lui-même.
Alternativement, pour éviter le désordre sémantique que cette réponse avait à l'origine, et les commentaires d'autres personnes, il pourrait être judicieux d'appeler argv[0] la fonction zeroth de sorte que argv[1]
serait maintenant la "première" des valeurs fournies par l'utilisateur.
En tout cas, cela vient de la exec()
famille de fonctions, par exemple execl
qui a un usage :
int execl(const char *path, const char *arg0, ... /*, (char *)0 */);
Dans l'interpréteur de commandes (Unix), lorsque vous tapez une commande, si nécessaire, l'interpréteur de commandes commence par résoudre le nom de la commande (à l'aide de la commande $PATH
) pour trouver le véritable chemin absolu. Le chemin (absolu ou relatif) est fourni pour path
et la commande telle qu'elle a été tapée à l'origine est fournie en tant que arg0
pour finalement devenir argv[0]
dans votre programme.
El restant Les paramètres de la ligne de commande se terminent alors comme suit argv[1]
etc.