Les Chaînes de Caractères: Le Type Chaîne N'existe Pas en Langage C. en Langage C
Les Chaînes de Caractères: Le Type Chaîne N'existe Pas en Langage C. en Langage C
Les Chaînes de Caractères: Le Type Chaîne N'existe Pas en Langage C. en Langage C
Exemple:
La chaîne "Bonjour" est représentée par :
B o n j o u r \0
char Nom_du_tableau[Nombre_elements + 1] ;
On peut mettre une taille max (ex: 200). La chaîne se terminera au
‘\0’. (on aura réserver de la place pour rien)
Exemples
char mot [ 50 + 1] ;
char phrase [ 250 ] ;
//Initialisation
mot [0] =‘a’;
mot [1] =‘i’;
mot [2] =‘e’;
mot [3] =‘\0’;
A la déclaration
//comme un tableau
char phrase [200] = { 'B', 'o', 'n', 'j', 'o', 'u', 'r', '\0' };
// spécifique aux chaîne de caractères
// le caractère de fin de chaîne '\0' est géré automatiquement
char phrase [200] = "Bonjour" ;
// On a réservé de la place pour rien. On a besoin de seulement d’un tableau
de longueur 8 (7 pour "Bonjour" + caractère null ‘/0’)
Bases de la programmation en C++ 3
Initialisation d’une
chaîne
A la déclaration
// On peut ne pas attribuer la taille de tableau lors de l’initialisation.
// La taille du tableau sera égale à la longueur de la chaine de caractères
// + le caractère null \0 qui sera ajouté à la fin du tableau automatiquement.
char phrase [] = { 'B', 'o', 'n', 'j', 'o', 'u', 'r', '\0' };
// Déclaration + initialisation
// initialisation comme un tableau classique
char MonMot [4 + 1] = { ‘M’, ‘i’, ‘a’, ‘m’, ‘\0’ } ;
// Déclaration + initialisation
//Spécifique aux chaînes de caractères
char MonMot [4 + 1] = "Miam" ;
// le ‘\0’ est rajouté automatiquement
int main()
{
char chaine[255] = "Bonjour";
int longueur = LongueurChaine(chaine);
cout<<longueur<<endl; // Le programme affiche 7
}
char mot[8] ;
mot = "bonjour"; // ERREUR
On ne peut
charpas comparer
mot1[8] deux chaînes
, char mot2[8] . de deux chaînes
;// déclaration
…
if(mot1 == mot2) // ERREUR
En utilisant printf()
Use %s field specification in printf: characters in string printed
until \0 encountered char Name[10] = “Rich”; printf(“|
%s|”,Name); /* outputs |Rich| */ • Can use width value to print
string in space: printf(“|%10s|”,Name); /* outputs | Rich| */ • Use
- flag to left justify: printf(“|%-10s|”,Name); /* outputs |Rich | */