C CHAP8
En C++, il existe plusieurs façons de représenter les chaînes de caractères : on peut utiliser la classe prédéfinie string ou on peut utiliser des tableaux de char. On parle alors parfois de chaîne de caractères de style C.
Pour des raisons pédagogiques qui nous semblent fondamentales, nous allons étudier les chaînes de caractères représentées par des tableaux de char. Ceci nous permettra de mettre en évidence les insuffisances de cette représentation et pourquoi il est largement préférable d'utiliser la classe string. Il faut avoir en tête que la classe string fait appel à des notions finalement très complexes (l'allocation dynamique de mémoire notamment, ou encore les pointeurs), même si son emploi est très simple.
[modifier] Chaînes de caractères de style C
Une telle chaîne de caractères est contenue dans un tableau de char. Chaque caractère sera dans une case du tableau. A la fin d'une chaîne de caractères (qui n'est pas forcément à la dernière case du tableau) doit se trouver le caractère spécial noté '\0' qui indique la fin de la chaîne.
[modifier] Affichage et saisie d'une chaîne
On peut afficher une chaîne de caractères par cout : le tableau de caractères sera alors affiché jusqu'au caractère de fin de chaîne.
On peut saisir une chaîne par cin : le caractère de fin de chaîne est alors rajouté automatiquement.
On peut accéder au caractère numéro i d'une chaîne t en indexant le tableau t[i].
[modifier] Exemple 1 : affichage et saisie
Dans cet exemple, on déclare un tableau de 20 char noté tt : dans chaque case de 0 à 7 on place une lettre et dans la case 8 on place le caractère de fin de chaîne.
#include<iostream>
using namespace std;
int main()
{
char tt[20]; tt[0]='B'; tt[1]='O'; tt[2]='N'; tt[3]='J'; tt[4]='O'; tt[5]='U'; tt[6]='R'; tt[7]='\0'; cout<<tt; return 0;
}
Explications tt contient la chaîne de caractères "BONJOUR". Nous avons construite case par case cette chaîne ! En général, on utilisera des fonctions prédéfinies