La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Bases de la programmation en C++ 1 Les chaînes de caractères Le type « chaîne » nexiste pas en C,C++. certains ont été développé dans des librairies: string.

Présentations similaires


Présentation au sujet: "Bases de la programmation en C++ 1 Les chaînes de caractères Le type « chaîne » nexiste pas en C,C++. certains ont été développé dans des librairies: string."— Transcription de la présentation:

1 Bases de la programmation en C++ 1 Les chaînes de caractères Le type « chaîne » nexiste pas en C,C++. certains ont été développé dans des librairies: string (librairie STL). CString (librairie MFC). En langage C++: Une chaîne de caractères est un tableau délément de type char. Dont le dernier élément est le caractère nul \0. (code ASCII: 0). Ce caractère nest pas affichable. Il indique la fin de la chaîne de caractères. Exemple: La chaîne "Bonjour" est représentée par : Bonjour\0

2 Bases de la programmation en C++ 2 Comment déclarer une chaîne de caractères On déclare un tableau de caractères. De taille LongeurChaine + 1 (réservation de place en mémoire) 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 Bonjour \0 char mot [ ] ; char phrase [ 250 ] ;

3 Bases de la programmation en C++ 3 Initialisation dune chaîne Caractère par caractère char mot [3 +1 ]; //déclaration //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 est géré automatiquement char phrase [200] = "Bonjour" ;

4 Bases de la programmation en C++ 4 Initialisation dune chaîne Exemple char MonMot [4 + 1] ; // réservation de place en mémoire MonMot [0] = M; //initialisation caractère par caractère MonMot [1] = i; MonMot [2] = a; MonMot [3] = m; MonMot [4] = \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

5 Bases de la programmation en C++ 5 Caractères spéciaux \0 caractère de fin de chaîne \" guillemet \\ barre oblique. \n retour à la ligne \r retour chariot cout<<"PinPon"; cout<<"Pin\0Pon"; cout<<"Pin\\Pon"; cout<<"Pin\nPon"; cout<<"Pin\rPon"; > PinPon > Pin > Pin\Pon > Pin Pon > Pon

6 Bases de la programmation en C++ 6 Exemple int LongueurChaine( char ch[ ] ); // Déclaration de la fonction LongueurChaine int main() { char chaine[255] = "Bonjour"; int longueur = LongueurChaine(chaine); cout<

7 Bases de la programmation en C++ 7 Restriction On ne peut pas affecter une chaîne en dehors de la déclaration. On ne peut pas affecter une chaîne à une autre. On ne peut pas comparer deux chaînes. char mot[8] = "bonjour"; // OK char mot[8] ; mot = "bonjour"; // ERREUR char mot1[8] ; char mot2[8] ; // déclaration de deux chaînes … mot1 = mot2; // ERREUR char mot1[8], char mot2[8] ;// déclaration de deux chaînes … if(mot1 == mot2) // ERREUR

8 Bases de la programmation en C++ 8 Fonctions de la bibliothèque standard Fonctions de manipulation de chaînes de caractères. (définies dans string.h). Strlen ( char Ch[ ]) Retourne la longueur de la chaîne Ch. Strcpy ( char ChDest[ ], char ChSource[ ] ) Copie la chaîne ChSource dans ChDest. Strcmp ( char Ch1[ ], char Ch2[ ]) Retourne 0 si les 2 chaînes sont identiques. Strcat (char ChDest[ ], char ChSource[ ] ) Recopie la chaine ChSource à la suite de ChDest.

9 Bases de la programmation en C++ 9 Exemple int main() { // on déclare 2 chaînes char chaine1[200] = "bonjour"; char chaine2[200]; // Lutilisateur rentre chaine2 cout<<"Ecrivez votre nom"<> chaine2; //on ajoute un espace à chaine1 strcat(chaine1," "); //on ajoute chaine2 à chaine1 strcat(chaine1,chaine2); cout< Ecrivez votre nom Guillaume > bonjour Guillaume

10 Bases de la programmation en C++ 10 Code ASCII et caractères En c++, un caractère est équivalent à son code ASCII (0 => 255). Exemple: char ascii='a'; cout<< ascii; char ascii='a+1; cout<< ascii; int ascii='a; cout<< ascii; char ascii=99 cout<< ascii; > a > b > 97 > c

11 Bases de la programmation en C++ 11 Complément TP5 Écrire une fonction qui prend en paramètre le nom dun étudiant et renvoie sa note Prototype Int GetNote(const char nom[ ], const etudiant Tab[ ], const int n);


Télécharger ppt "Bases de la programmation en C++ 1 Les chaînes de caractères Le type « chaîne » nexiste pas en C,C++. certains ont été développé dans des librairies: string."

Présentations similaires


Annonces Google