12.5. Les tableaux de chaîne de caractères

Icône de l'outil pédagogique Les tableaux de chaîne de caractères

On a souvent besoin de manipuler un texte composé de lignes successives, donc une suite de chaînes.
On peut aussi vouloir stocker les différents intitulés d’un menu, ou de façon plus générale, les textes de différents affichages prédéfinis : il s’agit ici de chaînes « constantes », c’est‐à‐dire initialisées et jamais modifiées ensuite.

Enfin, on peut avoir besoin d’un tableau à deux dimensions de caractères, par exemple pour dessiner une image sur une fenêtre en mode texte : là encore, un tableau de chaînes sera bien pratique pour l’affichage.

Pour traiter un tel ensemble de chaînes, on définit un tableau de chaînes de caractères, c'est‐à‐dire un tableau de caractères à deux dimensions, avec un caractère nul à la fin de chaque ligne. Exemples :

static char ligne[NB_LIGNES][31] ; /* définit NB_LIGNES chaînes de 30 caractères utiles */
static char menu[NB_OPTIONS][15 ] = { "memoriser", "continuer", "quitter", "autre option" } ;

Pour manipuler la chaîne i du tableau de chaînes ligne (ou menu), il suffit d’utiliser la variable ligne[i] (ou menu[i]) qui représente l’adresse de la ième chaîne.

Lors du remplissage d’un tableau de chaînes, la fonction gets et ses dérivées (fgets…) seront particulièrement utiles, car elles permettent la saisie de phrases.

Exemple 76 : Définition, saisie et affichage de tableau de chaînes de caractères

Exemple 77 : Définition et affichage de tableau de chaînes de caractères