Arguments à main()
Remonter à La fonction main() - Index
Trois paramètres (arguments) sont passés à main par la routine de démarrage de C++Builder : argc, argv et env.
argc(un entier) est le nombre d'arguments de ligne de commande passés àmain, notamment le nom de l'exécutable lui-même.argvest un tableau de pointeurs sur des chaînes(char *[]).argv[0]est le nom du chemin complet du programme en cours d'exécution.argv[1]pointe sur la première chaîne typée sur la ligne de commande du système d'exploitation située après le nom du programme.argv[2]pointe sur la seconde chaîne typée située après le nom du programme.argv[argc-1]pointe sur le dernier argument passé àmain.argv[argc]contientNULL.
envest aussi un tableau de pointeurs sur des chaînes. Chaque élément deenv[]contient une chaîne de la formeENVVAR=valeur.ENVVARest le nom d'une variable d'environnement, telle quePATH.valeurest la valeur définissantENVVAR, telle queC:\APPS;C:\TOOLS;(pourPATH).
Si vous déclarez ces paramètres, vous devez les déclarer exactement dans l'ordre donné : argc, argv et env. Par exemple, voici des déclarations valides d'arguments passés à main :
int main() int main(int argc) /* legal but very unlikely */ int main(int argc, char *argv[]) int main(int argc, char *argv[], char *env[])]
La déclaration int main(int argc) est correcte, mais il est peu probable que vous utilisiez argc dans votre programme sans utiliser aussi les éléments de argv.
L'argument env est aussi disponible à travers la variable globale _environ.
Pour toutes les plates-formes, argc et argv sont aussi disponibles via les variables globales _argc et _argv.
Utilisation de la fonction main() avec une application Unicode
Voici la version Unicode de la fonction main :
int wmain (int argc, wchar_t *argv[], wchar_t *env[])
Le paramètre argv et le paramètre facultatif envp supportent les caractères étendus.
La fonction _tmain est une macro qui développe la version appropriée de la fonction main selon le type de l'application :
int _tmain (int argc, _TCHAR *argv[], _TCHAR *env[])