Voici un simple fichier source :
/*
* salou.c - Source du programme salou
*
* Ce programme montre comment traiter les arguments d'un programme
* (boucle "for (i = 0; i < argc; i++)") et comment utiliser des
* fonctions definies dans le meme fichier source.
*
*/
#include <stdio.h>
#include <string.h>
main (int argc, char **argv)
{
int i;
printf ("\n");
/* Traitement des arguments passes au programme */
if (argc > 10)
{
printf ("Trop d'arguments ! Essayez %s -h pour avoir l'aide\n",
argv[0]);
printf ("\n");
printf ("*********************************\n");
printf ("Usage : %s <arguments>\n", argv[0]);
printf ("**********************************\n");
exit (1);
}
for (i = 0; i < argc; i++)
{
if ((strcmp ("-h", argv[i]) == 0) || (strcmp ("--help",
argv[i]) == 0))
{
printf ("aide demandee...\n");
printf ("y'a qu'a demander !...\n");
printf ("et faut pas hésiter !...\n");
printf (" -h, --help affiche l'aide\n");
printf (" -n, --name affiche le nom de l'auteur\n");
} /* if */
if ((strcmp ("", argv[i]) == 0))
{
printf ("%s programme par Mathieu DECORE, 1998\n", argv[0]);
} /* if */
} /* for */
printf ("\n");
printf ("*********************************************\n");
printf ("Bonjour à celui qui lira ça \n");
printf ("**********************************************\n");
/* Exemple d'utilisation d'une fonction definie dans le programme
* Cette fonction, "min", renvoit le minimun de deux nombres :
* min(a, b) renvoit a si a < b, et renvoit b sinon (si b < a)
*/
printf ("min 3, 5 : %d\n", min (3, 5));
printf ("min 8, 5 : %d\n", min (8, 5));
/* Affichage de tous les arguments passes au programme */
for (i = 0; i < argc; i++)
printf ("argc %d argv[%d] %s \n", argc, i, argv[i]);
}
/* Definition d'une fonction "min" pour l'exemple */
int
min (int a, int b)
{
if (a < b)
return a;
else
return b;
}
Pour compiler ce programme, il suffit d'entrer :
gcc -o salou salou.c
L'exécutable sera salou, comme précisé juste après l'option -o.