Programmation C++ (débutant)/La classe string - ?· Programmation C++ (débutant)/La classe string…

Embed Size (px)

Text of Programmation C++ (débutant)/La classe string - ?· Programmation C++ (débutant)/La classe...

  • Programmation C++ (dbutant)/La classe string 1

    Programmation C++ (dbutant)/La classe string

    Le cours du chapitre 12 : La classe string

    Prsentation de la classe string Il s'agit d'une classe standard qui permet de reprsenter une chane de caractres. Pour l'utiliser, il faut rajouter #include Cette classe encapsule des donnes pour pouvoir effectuer toutes les oprations de base sur les chanes. Ces oprations sont assez complexes notamment la gestion de la mmoire : l'encapsulation permet de masquer

    l'utilisateur de la classe toutes les difficults techniques.

    Diffrentes oprations sur la classe string Dclaration et initialisation : string s1; string s2= "BONJOUR"; Affichage et saisie : couts1; Concatnation : string s3=s2+s1;

    Exemple 1 : la classe stringFichier main.cpp

    #include

    #include

    using namespace std;

    int main (void)

    {

    string s1, s2, s3;

    cout > s1;

    cout > s2;

    s3 = s1 + s2;

    cout

  • Programmation C++ (dbutant)/La classe string 2

    Excution

    Lorsqu'on excute ce programme, il s'affiche l'cran :Tapez une chane : AZERTYTapez une chane : QSDFGHVoici la concatnation des deux chanes :AZERTYQSDFGH

    Sparateurs Par dfaut, lorsqu'on saisit une chane de caractres en utilisant cin, le sparateur est l'espace : cela empche de

    saisir une chane de caractres comportant une espace. La fonction getline(iostream &,string) permet de saisir une chane de caractres en utilisant le passage la ligne

    comme sparateur : notre chane de caractres peut alors comporter des espaces.

    Exemple 2 : string avec des espaces#include

    using namespace std;

    #include

    int main (void)

    {

    string s1, s2, s3;

    cout

  • Programmation C++ (dbutant)/La classe string 3

    Analyse de chanes Nombre de caractres d'une chane : size() est une mthode de la classe string qui renvoie le nombre de

    caractres utiles. Rcupration du i-ime caractre : la mthode const char at(int i) permet de rcuprer le i-1ime caractre. (0 =

    1er)

    Exemple 3 : analyse de chanes#include

    #include

    using namespace std;

    int main (void)

    {

    string s= "BONJOUR";

    int i, taille = s.size ();

    cout

  • Programmation C++ (dbutant)/La classe string 4

    Compatibilit avec les char * et les tableaux de char Transformation de chane de type C en string : on peut utiliser le constructeur string(char *) ou l'affectation

    grce au symbole = d'un char * vers une string. Transformation d'une string en chane de type C : il suffit d'utiliser la mthode : c_str() qui renvoie un char *

    qui est une chane de type C.

    Exemple 4 : compatibilit avec les tableaux de char et les char *#include

    using namespace std;

    #include

    int main (void)

    {

    string s1, s2;

    char c1 []= "BONJOUR";

    const char * c2;

    s1 = c1;

    cout > renvoie un boolen qui nous indique d'ventuelles erreurs.

  • Programmation C++ (dbutant)/La classe string 5

    Exemple 5 : transformation de string en int#include

    #include

    #include

    using namespace std;

    int main (void)

    {

    string s;

    cout > i) cout

  • Programmation C++ (dbutant)/La classe string 6

    1. Afficher la note 2. Modifier la note 0. Quitter crire le programme principal qui cre notre note et qui appelle notre menu.

    Programmation C++ (dbutant)/La classe stringLe cours du chapitre 12 : La classe string Prsentation de la classe string Diffrentes oprations sur la classe string Exemple 1 : la classe string ExplicationsExcution

    Sparateurs Exemple 2 : string avec des espaces ExplicationsExcution

    Analyse de chanes Exemple 3 : analyse de chanes Explications Excution

    Compatibilit avec les char * et les tableaux de char Exemple 4 : compatibilit avec les tableaux de char et les char * ExplicationsExcution

    Transformation d'une chane en int ou double Exemple 5 : transformation de string en int ExplicationsExcution 1Excution 2

    EXERCICES EXERCICE 1

    Licence