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 :
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 :
le premier est un entier, qui repr�sente le nombre de param�tres ;
le deuxi�me est un tableau de cha�nes de caract�res (donc en fait un tableau de pointeurs, ou encore un pointeur de pointeurs de caract�res).
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 ! */ }
Pr�c�dent | Sommaire | Suivant |
Pointeurs et r�f�rences de fonctions | Niveau sup�rieur | DANGER |