Partager via


Description des arguments

Le paramètre argc dans les fonctions main et wmain est un entier spécifiant le nombre d’arguments passés au programme à partir de la ligne de commande. Le nom du programme étant considéré comme un argument, la valeur argc est d'au moins un.

Notes

Le paramètre argv est un tableau de pointeurs vers des chaînes terminées par le caractère NULL qui représente les arguments de programme. Chaque élément du tableau pointe vers une représentation sous forme de chaîne d’un argument passé à main (ou wmain). (Pour des informations sur les tableaux, consultez Déclarations de tableau.) Le paramètre argv peut être déclaré soit comme un tableau de pointeurs vers le type char (char *argv[]), soit comme un pointeur vers des pointeurs vers le type char (char **argv). Pour wmain, le paramètre argv peut être déclaré soit comme un tableau de pointeurs vers le type wchar_t (wchar_t *argv[]), soit comme un pointeur vers des pointeurs vers le type wchar_t (wchar_t **argv).

Par convention, argv[0] est la commande avec laquelle le programme est appelé. Toutefois, il est possible de générer un processus utilisant CreateProcess et, si vous utilisez à la fois le premier et le deuxième argument (lpApplicationName et lpCommandLine), argv[0] peut ne pas être le nom exécutable. Utilisez GetModuleFileName pour récupérer le nom exécutable.

Le dernier pointeur (argv[argc]) est NULL. (Consultez getenv dans la Référence de la bibliothèque runtime afin de trouver une autre méthode pour obtenir des informations de variable d’environnement.)

Section spécifique à Microsoft

Le paramètre envp est un pointeur vers un tableau de chaînes terminées par le caractère NULL qui représentent les valeurs définies dans les variables d'environnement de l'utilisateur. Le paramètre envp peut être déclaré comme tableau de pointeurs en type char (char *envp[]) ou comme pointeur vers des pointeurs en type char (char **envp). Dans une fonction wmain, le paramètre envp peut être déclaré comme un tableau de pointeurs vers wchar_t (wchar_t *envp[]), ou comme un pointeur vers des pointeurs vers wchar_t (wchar_t **envp). La fin du tableau est affichée par un pointeur NULL*. Le bloc d’environnement passé à main ou wmain est une copie « figée » de l’environnement actuel. Si vous modifiez ultérieurement l’environnement via un appel à _putenv ou _wputenv, l’environnement actuel (tel que retourné par getenv/_wgetenv et les variables _environ ou _wenviron) change, mais pas le bloc vers lequel envp pointe. Le paramètre envp est compatible ANSI/ISO C89 en C, mais il s’agit d’une extension Microsoft en C++.

FIN de la section spécifique à Microsoft

Voir aussi

Fonction main et exécution du programme