Précédent Remonter

3  Quelques éléments d'aide

Les quelques indications données ici vous seront utiles. Ces indications ne sont pas complètes. Il vous faudra consulter le manuel en ligne pour une information plus complète.

Lecture de l'entrée standard
La lecture d'une ligne sur l'entrée standard se fait par la fonction fgets() :
#include <stdio.h>
char * fgets(char * s, int size, FILE * stream);
qui lit au plus size-1 caractères depuis le flux stream et les place dans le tableau s. Le flux associé à l'entrée standard est identifié par la valeur stdin définie dans stdio.h. La lecture s'arrête après EOF ou un retour-chariot.

Production sur la sortie standard et la sortie d'erreur
De la même manière que printf() produit un message sur la sortie standard, la fonction
#include <stdio.h>
int fprintf(FILE *stream, const char *format, ...);
produit un message sur le flux désigné par le paramètre stream. Deux valeurs de type FILE * sont définies dans stdio.h pour désigner la sortie standard et la sortie d'erreur, stdout et stderr. Ainsi printf(...) est équivalent à fprintf(stdout, ...).

Comparaison de chaînes de caractères
Les chaînes de caractères ne peuvent être directement comparées avec un opérateur du langage C. On utilise la fonction
#include <string.h>
int strcmp(const char *s1, const char *s2);
qui retourne la différence entre les premiers caractères différents des chaîne et s2. En cas d'égalité, strcmp() retourne une valeur nulle (donc une valeur fausse, attention).

Recherche de sous-chaînes
La fonction
#include <string.h>
char *strstr(const char *big, const char *little);
recherche la chaîne de caractères little dans la chaîne de caractères big. En particulier, elle retourne
Terminaison du programme
La fonction
#include <stdlib.h>
void exit(int status);
termine l'exécution du programme en cours. La valeur de status est retournée à l'environnement. La norme C définit les valeurs EXIT_SUCCESS (0) et EXIT_FAILURE comme des valeurs possible de status.

Lecture des paramètres de la ligne de commande
Le prototype de la fonction main() peut être complété pour accéder aux paramètres de la ligne de commande :
int main(int argc, char *argv[]);
La valeur de argc donne le nombre de paramètres ayant été passés à la commande (y compris le nom du programme). Le tableau argv contient les valeurs de ces paramètres. Essayez le programme d'exemple suivant :
#include <stdio.h>
#include <stdlib.h>

int
main (int argc, char *argv[])
{
    int i;
    
    fprintf(stderr, "   argc = %d\n", argc);

    for (i=0; i<argc ; i++) {
        fprintf(stderr, "argv[%d] = %s\n", i, argv[i]);
    }
    
    exit(EXIT_SUCCESS);
}
Les arguments sont considérés comme des chaînes de caractères. On utilisera la fonction
#include <stdlib.h>
int atoi (const char *str);
pour convertir un argument de la commande (i.e. un élément du tableau argv) qui en une valeur entière.
Précédent Remonter