Quels sont les arguments de main ()?
Chaque fois que je créer un projet (utilitaire de ligne de commande) avec Xcode, mon
fonction principale commence par ressembler à ceci:
int main(int argc, const char * argv[])
Ce que tout cela dans la parenthèse? Pourquoi utiliser ce plutôt que de simplement
int main()
?
C Standard reconnaît
Ou, depuis l'OP ne sait pas ce
Google est en panne?
int main(int argc, char *argv[])
(ou l'équivalent ou int main(void)
), mais pas votre version avec argv
modifié avec const
(c'est une extension fournie par votre mise en œuvre). Si vous voulez que votre code soit portable à d'autres implémentations, retirez le const
.Ou, depuis l'OP ne sait pas ce
argc
et argv
sont de toute façon, il suffit de les remplacer avec void
.Google est en panne?
OriginalL'auteur Deven | 2010-09-17
Vous devez vous connecter pour publier un commentaire.
principal reçoit le nombre d'arguments et les arguments passés à elle lorsque vous démarrez le programme, de sorte que vous pouvez accéder.
argc contient le nombre d'arguments, argv contient des pointeurs vers les arguments.
argv[argc] est toujours un pointeur NULL. Les arguments comprennent généralement le nom du programme lui-même.
En règle générale, si vous exécutez votre programme comme
./myprogram
Si vous exécutez votre programme comme
./myprogram /tmp/somefile
OriginalL'auteur nos
Bien que n'étant pas couverts par les normes, sur Windows et la plupart des saveurs de Unix et Linux,
main
peut avoir jusqu'à trois arguments:La dernière est similaire à
argv
(qui est un tableau de chaînes de caractères, comme décrit dans les autres réponses, en précisant les arguments pour le programme transmis sur la ligne de commande.)Mais il contient les variables d'environnement, par exemple
PATH
ou quoi que ce soit d'autre que vous définissez dans votre système d'exploitation shell. Il est null si il n'est pas nécessaire de fournir un nombre argument.C89
ouC99
)correction de la réponse, la suppression incorrecte de référence standard.
"Mac OS X et Darwin ont un quatrième paramètre contenant de l'arbitraire de l'OS fourni des informations, telles que le chemin d'accès pour l'exécution de binaires:
int main(int argc, char **argv, char **envp, char **apple);
" en.wikipedia.org/wiki/Main_function#C_and_C.2B.2BCitation de la norme C11 à ce sujet: port70.net/~nsz/c/c11/n1570.html#J. 5.1
OriginalL'auteur Daniel Earwicker
Ces pour utiliser les arguments de la ligne de commande -
argc contient le nombre d'arguments
la ligne de commande (y compris le nom du programme), et argv est la liste de
arguments (qui sont représentés comme des chaînes de caractères).
OriginalL'auteur Sachin Shanbhag
Ces sont utilisés pour passer de la ligne de commande paramétrée.
Pour ex: si vous souhaitez passer un nom de fichier pour votre processus à partir de l'extérieur puis
de la ligne de commande "filename.txt" seront stockées dans argv[], et le nombre de paramètre de ligne de commande ( le comte) seront stockés dans argc.
OriginalL'auteur aJ.
main() est une fonction qui peut prendre au maximum trois paramètres ou sans paramètres.
Les éléments suivants sont les paramètres principaux() est comme suit:-
1) int argc : Il contient le nombre d'arguments passés (à partir de l'invite de commande) au cours de l'exécution du programme, ou vous pouvez dire qu'il est utilisé ot de garder une trace du nombre de variables passées au cours de l'exécution du programme. Il ne peut pas contenir la valeur négative. Par exemple. Si vous transmettez votre fichier exécutable "./un."alors ce sera considéré comme un paramètre et donc argc valeur sera 0 je.e 1 valeur est passée.
2) char *argv[] : c'est un tableau de pointeurs de caractère qui contient l'adresse de cordes(tableau de caractères) qui sont passés à partir de l'invite de commande lors de l'exécution du programme. Par exemple. dans l'exemple ci-dessus, si vous avez écrit argv[argc] j'.e argv[0] dans le cout puis il va se donner ./un.comme sortie.
3) char*envp[] : il est également un tableau de pointeur de caractère qui est utilisé pour contenir l'adresse de l'environnements variables utilisées dans le programme. Les variables d'environnement sont l'ensemble des dynamiques valeur nommée qui peut affecter la façon dont le processus en cours va se comporter sur l'ordinateur. Par exemple processus en cours d'exécution souhaitez stocker les fichiers temporaires puis il appellera TEMP variables d'environnement pour obtenir un emplacement approprié.
OriginalL'auteur Tutu Kumari