main
La fonction principale main
(vue au premier chapitre) peut en fait recevoir des arguments. Il sagit du nombre darguments passés à la ligne de commande du système d'exploitation (pour ceux qui utilisent le mode terminal), de la valeur de ces arguments, et de lenvironnement courant du système.
Ainsi, si vous avez écrit la fonction principale dun programme nommé prog
de la façon suivante :
main(int argc, char *argv[], char *env[]) { // ... }
et quau moment de son utilisation on tape ceci (à la ligne de commande du DOS) :
/bin/prog argument1 argument2
alors dans le programme, argc vaudra 3 (un de plus que le nombre darguments), et argv sera un tableau de pointeurs char*
contenant les pointeurs sur les chaînes "/bin/prog"
, "argument1"
et "argument2"
respectivement. On peut ainsi tester le nombre darguments passés, et leur valeur.
Quant au tableau env
, il contient la liste des variables denvironnement du système, sous la forme « VAR=valeur
» ; par exemple en DOS, on trouvera peut-être « PATH=C:\DOS;C:\;C:\TC\BIN
» ; la dernière chaîne est nulle, indiquant la fin du tableau. Les variables environnement peuvent être obtenues plus simplement en utilisant la fonction getenv
de <stdlib.h>
.
Vous pouvez déclarer main
sous lune des quatre formes suivantes :
main() // paramètres inaccessibles main(int argc // nombre de paramètres main(int argc, char *argv[]) // paramètre seulss main(int argc, char *argv[], char *env[]) // tout
Le nom des paramètres est à votre choix, mais leur type et leur ordre est imposé.
Précédent | Sommaire | Suivant |