4.13. Param�tres de la fonction main - ligne de commande

L'appel d'un programme se fait normalement avec la syntaxe suivante :

nom param1 param2 [...]
o� nom est le nom du programme � appeler et param1, etc. sont les param�tres de la ligne de commande. De plus, le programme appel� peut renvoyer un code d'erreur au programme appelant (soit le syst�me d'exploitation, soit un autre programme). Ce code d'erreur est en g�n�ral 0 quand le programme s'est d�roul� correctement. Toute autre valeur indique qu'une erreur s'est produite en cours d'ex�cution.

La valeur du code d'erreur est renvoy�e par la fonction main. Le code d'erreur doit toujours �tre un entier. La fonction main peut donc (et m�me normalement doit) �tre de type entier :

int main(void) ...

Les param�tres de la ligne de commandes peuvent �tre r�cup�r�s par la fonction main. Si vous d�sirez les r�cup�rer, la fonction main doit attendre deux param�tres :

Les param�tres se r�cup�rent avec ce tableau. Le premier �l�ment pointe toujours sur la cha�ne donnant le nom du programme. Les autres �l�ments pointent sur les param�tres de la ligne de commande.

Exemple 4-17. R�cup�ration de la ligne de commande

#include <stdio.h>     /* Autorise l'utilisation des fonctions */
                       /* printf et scanf. */

int main(int n, char *params[])  /* Fonction principale. */
{
    int i;

    /* Affiche le nom du programme : */
    printf("Nom du programme : %s.\n",params[0]);

    /* Affiche la ligne de commande : */
    for (i=1; i<n; ++i)
        printf("Argument %d : %s.\n",i, params[i]);
    return 0;           /* Tout s'est bien pass� : on renvoie 0 ! */
}