SlideShare une entreprise Scribd logo
Bases de la programmation en C++ 1
Les chaînes de caractères
Le type « chaîne » n’existe pas en langage C.
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’.
 Ce caractère n’est pas affichable.
 Il indique la fin de la chaîne de caractères.
Exemple:
La chaîne "Bonjour" est représentée par :
B o n j o u r 0
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
B o n j o u r 0
char mot [ 50 + 1] ;
char phrase [ 250 ] ;
Bases de la programmation en C++ 3
Initialisation d’une 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 '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++ 4
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' };
char phrase [] = "Bonjour" ;
Bases de la programmation en C++ 5
Initialisation d’une 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
Bases de la programmation en C++ 6
Caractères spéciaux
0 caractère de fin de chaîne
" guillemet
 barre oblique.
n retour à la ligne
cout<<"PinPon";
cout<<"Pin0Pon";
cout<<"PinPon";
cout<<"PinnPon";
> PinPon
> Pin
> PinPon
> Pin
Pon
Bases de la programmation en C++ 7
Exemple
int LongueurChaine( char ch[ ] ); // Déclaration de la fonction LongueurChaine
int main()
{
char chaine[255] = "Bonjour";
int longueur = LongueurChaine(chaine);
cout<<longueur<<endl; // Le programme affiche 7
}
/* Définition de la fonction LongueurChaine. */
int LongueurChaine( char ch[ ] )
{
int i = 0;
while ( ch[i] != ‘0’) // on parcours la chaîne jusqu’à arriver au caractère ‘0’
i++;
return i;
}
Bases de la programmation en C++ 8
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
Bases de la programmation en C++ 9
Lecture d’une chaine de caractères
En utilisant scanf()
Use %s field specification in scanf to read string
• ignores leading white space
• reads characters until next white space encountered
• C stores null (0) char after last non-white space char
• Reads into array (no & before name, array is a pointer)
• Example: char Name[11]; scanf(“%s”,Name);
• Problem: no limit on number of characters read (need one for
delimiter), if too many characters for array, problems may occur
Bases de la programmation en C++ 10
Lecture d’une chaine de caractères
En utilisant gets()
The drawback of reading a string using scanf() is that it does not
read whitespaces or whole line • If the string to be read as an
input has embedded whitespace characters, use standard gets()
function.
Bases de la programmation en C++ 11
Exemple
int main()
{
// on déclare 2 chaînes
char chaine1[20] = "bonjour";
char chaine2[20];
}
> Ecrivez votre nom
Adel
> bonjour Adel
Bases de la programmation en C++ 12
Ecriture d’une chaine de caractères
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 | */
Bases de la programmation en C++ 13
Lecture d’une chaine de caractères
En utilisant puts()
The drawback of printing a string using printf() is that it does not
print whitespaces. • If the string to be print as an output has
embedded whitespace characters, use standard puts() function.
Bases de la programmation en C++ 14
Exemple
int main()
{
// on déclare 2 chaînes
char chaine1[20] = "bonjour";
char chaine2[20];
}
> Ecrivez votre nom
Adel
> bonjour Adel
Bases de la programmation en C++ 15
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.
Bases de la programmation en C++ 16
Exemple
int main()
{
// on déclare 2 chaînes
char chaine1[20] = "bonjour";
char chaine2[20];
// L’utilisateur rentre chaine2
printf("Ecrivez votre nom");
scanf("%s", &chaine2);
//on ajoute un espace à chaine1
strcat(chaine1," ");
//on ajoute chaine2 à chaine1
strcat(chaine1,chaine2);
printf("%s", chaine1);
}
> Ecrivez votre nom
Adel
> bonjour Adel
Bases de la programmation en C++ 17
Exemple
int main()
{
// on déclare 2 chaînes
char chaine1[20] = "bonjour";
char chaine2[20];
// On copie le contenu de chaine1
dans chaine2
strcpy(chaine2, chaine1);
printf("%s", chaine2);
// On compare si les deux chaines
// sont identique
if(strcmp(str, str2) == 0) {
printf("les deux chaines sont identiques");
}
}
bonjour
les deux chaines sont identiques
Bases de la programmation en C++ 18
Exemple
int main()
{
// on déclare une chaîne
char chaine1[20] = "bonjour";
int longueur;
// Calcul de longueur de la chaine1
longueur = strlen(chaine1);
printf(" La longueur de la chaine égale à %d", longueur);
}
La longueur de la chaine égale à 7

Contenu connexe

Tendances

C++ 11/14
C++ 11/14C++ 11/14
C++ 11/14
Alexandre Hamez
 
Ns algo 2
Ns algo 2Ns algo 2
Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en Java
Aziz Darouichi
 
algorithmique
algorithmiquealgorithmique
algorithmique
ABID Mehdi
 
Mémento caml
Mémento camlMémento caml
Mémento caml
zan
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
WajihBaghdadi1
 
Partie 14: Entrée/Sortie — Programmation orientée objet en C++
Partie 14: Entrée/Sortie — Programmation orientée objet en C++Partie 14: Entrée/Sortie — Programmation orientée objet en C++
Partie 14: Entrée/Sortie — Programmation orientée objet en C++
Fabio Hernandez
 
Cours langage c
Cours langage cCours langage c
Cours langage c
coursuniv
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniShellmates
 
Ns algo 3
Ns algo 3Ns algo 3
Chapitre 04 : les fonctions
Chapitre 04 : les fonctionsChapitre 04 : les fonctions
Chapitre 04 : les fonctions
L’Université Hassan 1er Settat
 
Introduction a la compilation Analyse Syntaxique - C3
Introduction a la compilation  Analyse Syntaxique - C3Introduction a la compilation  Analyse Syntaxique - C3
Introduction a la compilation Analyse Syntaxique - C3
Beligh HAMDI
 
Chapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et InstructionsChapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et Instructions
L’Université Hassan 1er Settat
 
Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
L’Université Hassan 1er Settat
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En Java
Aziz Darouichi
 
Introduction a la compilation Analyse lexicale - C2
Introduction a la compilation  Analyse lexicale - C2Introduction a la compilation  Analyse lexicale - C2
Introduction a la compilation Analyse lexicale - C2
Beligh HAMDI
 
Partie 1: Notions de base — Programmation orientée objet en C++
Partie 1: Notions de base — Programmation orientée objet en C++Partie 1: Notions de base — Programmation orientée objet en C++
Partie 1: Notions de base — Programmation orientée objet en C++
Fabio Hernandez
 

Tendances (20)

C++ 11/14
C++ 11/14C++ 11/14
C++ 11/14
 
Ns algo 2
Ns algo 2Ns algo 2
Ns algo 2
 
Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en Java
 
algorithmique
algorithmiquealgorithmique
algorithmique
 
Mémento caml
Mémento camlMémento caml
Mémento caml
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
Partie 14: Entrée/Sortie — Programmation orientée objet en C++
Partie 14: Entrée/Sortie — Programmation orientée objet en C++Partie 14: Entrée/Sortie — Programmation orientée objet en C++
Partie 14: Entrée/Sortie — Programmation orientée objet en C++
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
 
Cours php
Cours phpCours php
Cours php
 
Ns algo 3
Ns algo 3Ns algo 3
Ns algo 3
 
Chapitre 04 : les fonctions
Chapitre 04 : les fonctionsChapitre 04 : les fonctions
Chapitre 04 : les fonctions
 
Le langage C
Le langage CLe langage C
Le langage C
 
Introduction a la compilation Analyse Syntaxique - C3
Introduction a la compilation  Analyse Syntaxique - C3Introduction a la compilation  Analyse Syntaxique - C3
Introduction a la compilation Analyse Syntaxique - C3
 
Chapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et InstructionsChapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et Instructions
 
Chapitre 2
Chapitre 2Chapitre 2
Chapitre 2
 
Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En Java
 
Introduction a la compilation Analyse lexicale - C2
Introduction a la compilation  Analyse lexicale - C2Introduction a la compilation  Analyse lexicale - C2
Introduction a la compilation Analyse lexicale - C2
 
Partie 1: Notions de base — Programmation orientée objet en C++
Partie 1: Notions de base — Programmation orientée objet en C++Partie 1: Notions de base — Programmation orientée objet en C++
Partie 1: Notions de base — Programmation orientée objet en C++
 

Similaire à 1763685

Chapitre1
Chapitre1Chapitre1
Chapitre1
Adel Madrid
 
ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdf
FadouaBouafifSamoud
 
La chaines de caractères avec la langage C
La chaines de caractères avec la langage CLa chaines de caractères avec la langage C
La chaines de caractères avec la langage C
yanguirania
 
Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage C
Fahad Golra
 
Chapitre 10 - Les chaines de characteres.pdf
Chapitre 10 - Les chaines de characteres.pdfChapitre 10 - Les chaines de characteres.pdf
Chapitre 10 - Les chaines de characteres.pdf
ShiniGami0o0
 
Chapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptxChapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptx
FerdawsBNasrBSalah
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'application
kamalomari2
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
salah fenni
 
Développement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresDéveloppement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulières
ECAM Brussels Engineering School
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
IbtissameAbbad1
 
Algorithmique&Langage C-Partie1 BTS.pptx
Algorithmique&Langage C-Partie1 BTS.pptxAlgorithmique&Langage C-Partie1 BTS.pptx
Algorithmique&Langage C-Partie1 BTS.pptx
Facebokma
 
Cours programmation en langage C.pdf
Cours  programmation  en  langage  C.pdfCours  programmation  en  langage  C.pdf
Cours programmation en langage C.pdf
khalidmoussaid4
 
Convention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfConvention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdf
LamissGhoul1
 
Initiation r
Initiation rInitiation r
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap III
Ines Ouaz
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
FadouaBouafifSamoud
 
Cours c#
Cours c#Cours c#
Cours c#
zan
 

Similaire à 1763685 (20)

Chapitre1
Chapitre1Chapitre1
Chapitre1
 
ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdf
 
La chaines de caractères avec la langage C
La chaines de caractères avec la langage CLa chaines de caractères avec la langage C
La chaines de caractères avec la langage C
 
Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage C
 
Chapitre 10 - Les chaines de characteres.pdf
Chapitre 10 - Les chaines de characteres.pdfChapitre 10 - Les chaines de characteres.pdf
Chapitre 10 - Les chaines de characteres.pdf
 
Chapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptxChapitre5 les chaînes de caractères - Copy.pptx
Chapitre5 les chaînes de caractères - Copy.pptx
 
cours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'applicationcours lanagage c avec des exemples d'application
cours lanagage c avec des exemples d'application
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
Développement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulièresDéveloppement informatique : Chaines de caractères et expressions regulières
Développement informatique : Chaines de caractères et expressions regulières
 
Poit
PoitPoit
Poit
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Theme 6
Theme 6Theme 6
Theme 6
 
Algorithmique&Langage C-Partie1 BTS.pptx
Algorithmique&Langage C-Partie1 BTS.pptxAlgorithmique&Langage C-Partie1 BTS.pptx
Algorithmique&Langage C-Partie1 BTS.pptx
 
Cours programmation en langage C.pdf
Cours  programmation  en  langage  C.pdfCours  programmation  en  langage  C.pdf
Cours programmation en langage C.pdf
 
Pointeuren c
Pointeuren cPointeuren c
Pointeuren c
 
Convention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfConvention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdf
 
Initiation r
Initiation rInitiation r
Initiation r
 
Algorithme & structures de données Chap III
Algorithme & structures de données Chap IIIAlgorithme & structures de données Chap III
Algorithme & structures de données Chap III
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
Cours c#
Cours c#Cours c#
Cours c#
 

1763685

  • 1. Bases de la programmation en C++ 1 Les chaînes de caractères Le type « chaîne » n’existe pas en langage C. 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’.  Ce caractère n’est pas affichable.  Il indique la fin de la chaîne de caractères. Exemple: La chaîne "Bonjour" est représentée par : B o n j o u r 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 B o n j o u r 0 char mot [ 50 + 1] ; char phrase [ 250 ] ;
  • 3. Bases de la programmation en C++ 3 Initialisation d’une 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 '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’)
  • 4. Bases de la programmation en C++ 4 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' }; char phrase [] = "Bonjour" ;
  • 5. Bases de la programmation en C++ 5 Initialisation d’une 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
  • 6. Bases de la programmation en C++ 6 Caractères spéciaux 0 caractère de fin de chaîne " guillemet barre oblique. n retour à la ligne cout<<"PinPon"; cout<<"Pin0Pon"; cout<<"PinPon"; cout<<"PinnPon"; > PinPon > Pin > PinPon > Pin Pon
  • 7. Bases de la programmation en C++ 7 Exemple int LongueurChaine( char ch[ ] ); // Déclaration de la fonction LongueurChaine int main() { char chaine[255] = "Bonjour"; int longueur = LongueurChaine(chaine); cout<<longueur<<endl; // Le programme affiche 7 } /* Définition de la fonction LongueurChaine. */ int LongueurChaine( char ch[ ] ) { int i = 0; while ( ch[i] != ‘0’) // on parcours la chaîne jusqu’à arriver au caractère ‘0’ i++; return i; }
  • 8. Bases de la programmation en C++ 8 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
  • 9. Bases de la programmation en C++ 9 Lecture d’une chaine de caractères En utilisant scanf() Use %s field specification in scanf to read string • ignores leading white space • reads characters until next white space encountered • C stores null (0) char after last non-white space char • Reads into array (no & before name, array is a pointer) • Example: char Name[11]; scanf(“%s”,Name); • Problem: no limit on number of characters read (need one for delimiter), if too many characters for array, problems may occur
  • 10. Bases de la programmation en C++ 10 Lecture d’une chaine de caractères En utilisant gets() The drawback of reading a string using scanf() is that it does not read whitespaces or whole line • If the string to be read as an input has embedded whitespace characters, use standard gets() function.
  • 11. Bases de la programmation en C++ 11 Exemple int main() { // on déclare 2 chaînes char chaine1[20] = "bonjour"; char chaine2[20]; } > Ecrivez votre nom Adel > bonjour Adel
  • 12. Bases de la programmation en C++ 12 Ecriture d’une chaine de caractères 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 | */
  • 13. Bases de la programmation en C++ 13 Lecture d’une chaine de caractères En utilisant puts() The drawback of printing a string using printf() is that it does not print whitespaces. • If the string to be print as an output has embedded whitespace characters, use standard puts() function.
  • 14. Bases de la programmation en C++ 14 Exemple int main() { // on déclare 2 chaînes char chaine1[20] = "bonjour"; char chaine2[20]; } > Ecrivez votre nom Adel > bonjour Adel
  • 15. Bases de la programmation en C++ 15 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.
  • 16. Bases de la programmation en C++ 16 Exemple int main() { // on déclare 2 chaînes char chaine1[20] = "bonjour"; char chaine2[20]; // L’utilisateur rentre chaine2 printf("Ecrivez votre nom"); scanf("%s", &chaine2); //on ajoute un espace à chaine1 strcat(chaine1," "); //on ajoute chaine2 à chaine1 strcat(chaine1,chaine2); printf("%s", chaine1); } > Ecrivez votre nom Adel > bonjour Adel
  • 17. Bases de la programmation en C++ 17 Exemple int main() { // on déclare 2 chaînes char chaine1[20] = "bonjour"; char chaine2[20]; // On copie le contenu de chaine1 dans chaine2 strcpy(chaine2, chaine1); printf("%s", chaine2); // On compare si les deux chaines // sont identique if(strcmp(str, str2) == 0) { printf("les deux chaines sont identiques"); } } bonjour les deux chaines sont identiques
  • 18. Bases de la programmation en C++ 18 Exemple int main() { // on déclare une chaîne char chaine1[20] = "bonjour"; int longueur; // Calcul de longueur de la chaine1 longueur = strlen(chaine1); printf(" La longueur de la chaine égale à %d", longueur); } La longueur de la chaine égale à 7