SlideShare une entreprise Scribd logo
1  sur  18
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
Les chaînes de caractères 1
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
Les chaînes de caractères 2
char mot [ 50 + 1] ;
char phrase [ 250 ] ;
Initialisation d’une chaîne
Caractère par caractère
Les chaînes de caractères 3
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’)
Initialisation d’une chaîne
Les chaînes de caractères 4
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" ;
Initialisation d’une chaîne
Exemple
Les chaînes de caractères 5
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
Caractères spéciaux
0 caractère de fin de chaîne
" guillemet
 barre oblique.
n retour à la ligne
Les chaînes de caractères 6
cout<<"PinPon";
cout<<"Pin0Pon";
cout<<"PinPon";
cout<<"PinnPon";
> PinPon
> Pin
> PinPon
> Pin
Pon
Exemple
Les chaînes de caractères 7
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;
}
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 .
Les chaînes de caractères 8
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
Lecture d’une chaine de caractères
En utilisant scanf()
 Utiliser la spécification de champ %s dans scanf pour lire la
chaîne
 Lire les caractères jusqu'au prochain espace blanc rencontré
 Le language C stocke le caractère nul (0) après le dernier
caractère d'espace non blanc
Les chaînes de caractères 9
Exemple
Les chaînes de caractères 10
int main()
{
// on lire une chaine de caractère*
dans le variable name
printf(“Lire votre nom et prénom: ”);
char name[14];
scanf(“%s”, &name);
printf(“Votre nom et prénom: %s”, name);
}
> Lire votre nom et prénom: Adel Boughida
Votre nom et prénom: Adel
Problème: scanf() permet de lire seulement les caractères avant le premier
espace rencontré
Solution: utiliser gets()
Lecture d’une chaine de caractères
En utilisant gets()
L'inconvénient de la lecture d'une chaîne à l'aide de scanf() est
qu'elle ne lit pas les espaces.
• Si la chaîne à lire en tant qu'entrée contient des caractères
d'espace blanc intégrés, utilisez la fonction standard gets().
Les chaînes de caractères 11
Exemple
Les chaînes de caractères 12
int main()
{
// on lire une chaine de caractère*
dans le variable name avec gets
printf(“Lire une chaine SVP: ”);
char chaine[10];
gets(chaine);
printf(“La chaine: %s”, chaine);
}
> Lire une chaine SVP: Math info
La chaine: Math info
Problème: scanf() permet de lire seulement les caractères avant le premier
espace rencontré
Solution: utiliser gets()
Ecriture d’une chaine de caractères
En utilisant printf()
Utilisez la spécification de champ %s dans printf pour écrire
une chaine de caractères.
les caractères de la chaîne qui sont imprimées sont jusqu'à 0
En utilisant puts()
L'inconvénient de l'impression d'une chaîne à l'aide de printf()
est qu'elle n'imprime pas d'espaces blancs. • Si la chaîne à
imprimer en tant que sortie contient des caractères
d'espacement intégrés, utilisez la fonction standard puts().
Les chaînes de caractères 13
Exemple
Les chaînes de caractères 14
int main()
{
// on déclare 2 chaînes
char nom[5] = "Adel";
printf("|%s|", nom); //affiche |Adel|
char nom2[14] = "Adel Boughida";
printf("%s", nom2); //affiche Adel
puts(nom2); //affiche Adel Boughida
}
|Adel|
Adel
Adel Boughida
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.
Les chaînes de caractères 15
Exemple
Les chaînes de caractères 16
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
Exemple
Les chaînes de caractères 17
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
Exemple
Les chaînes de caractères 18
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

Chapitre 2: String en Java
Chapitre 2:  String en JavaChapitre 2:  String en Java
Chapitre 2: String en JavaAziz Darouichi
 
Mémento caml
Mémento camlMémento caml
Mémento camlzan
 
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
 
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
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 
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 - C3Beligh HAMDI
 
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 - C2Beligh HAMDI
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaAziz Darouichi
 
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)

Ns algo 2
Ns algo 2Ns algo 2
Ns algo 2
 
C++ 11/14
C++ 11/14C++ 11/14
C++ 11/14
 
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
 
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++
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
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 langage c
Cours langage cCours langage c
Cours langage c
 
Chapitre 04 : les fonctions
Chapitre 04 : les fonctionsChapitre 04 : les fonctions
Chapitre 04 : les fonctions
 
Ns algo 3
Ns algo 3Ns algo 3
Ns algo 3
 
Cours php
Cours phpCours php
Cours php
 
Le langage C
Le langage CLe langage C
Le langage C
 
Chapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et InstructionsChapitre 02 : Variables, Expressions et Instructions
Chapitre 02 : Variables, Expressions et Instructions
 
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
 
Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
 
Chapitre 2
Chapitre 2Chapitre 2
Chapitre 2
 
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
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En Java
 
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 à 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.pdfFadouaBouafifSamoud
 
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.pdfShiniGami0o0
 
Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage CFahad Golra
 
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.pptxFerdawsBNasrBSalah
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdfsalah fenni
 
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'applicationkamalomari2
 
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èresECAM Brussels Engineering School
 
Bases de php - Partie 4
Bases de php - Partie 4Bases de php - Partie 4
Bases de php - Partie 4Régis Lutter
 
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 IIIInes Ouaz
 
.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHPAbdoulaye Dieng
 
Les expressions régulières en java
Les expressions régulières en javaLes expressions régulières en java
Les expressions régulières en javaEric Toguem
 
Correction de la question 5 de l'exercice 2 du TD3 (M1202)
Correction de la question 5 de l'exercice 2 du TD3 (M1202)Correction de la question 5 de l'exercice 2 du TD3 (M1202)
Correction de la question 5 de l'exercice 2 du TD3 (M1202)PGambette
 
Cours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdfCours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdfABDESSELAM ARROU
 
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.pdfFadouaBouafifSamoud
 

Similaire à Chapitre1 (20)

1763685
17636851763685
1763685
 
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
 
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
 
Seance 4- Programmation en langage C
Seance 4- Programmation en langage CSeance 4- Programmation en langage C
Seance 4- Programmation en langage C
 
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
 
Poit
PoitPoit
Poit
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
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
 
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
 
Bases de php - Partie 4
Bases de php - Partie 4Bases de php - Partie 4
Bases de php - Partie 4
 
Pointeuren c
Pointeuren cPointeuren c
Pointeuren c
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
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
 
.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP.php1 : les fondamentaux du PHP
.php1 : les fondamentaux du PHP
 
Les expressions régulières en java
Les expressions régulières en javaLes expressions régulières en java
Les expressions régulières en java
 
Regex php
Regex phpRegex php
Regex php
 
Correction de la question 5 de l'exercice 2 du TD3 (M1202)
Correction de la question 5 de l'exercice 2 du TD3 (M1202)Correction de la question 5 de l'exercice 2 du TD3 (M1202)
Correction de la question 5 de l'exercice 2 du TD3 (M1202)
 
Cours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdfCours_chaine_de_caracteres_STR_Python.pdf
Cours_chaine_de_caracteres_STR_Python.pdf
 
Theme 6
Theme 6Theme 6
Theme 6
 
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
 

Chapitre1

  • 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 Les chaînes de caractères 1
  • 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 Les chaînes de caractères 2 char mot [ 50 + 1] ; char phrase [ 250 ] ;
  • 3. Initialisation d’une chaîne Caractère par caractère Les chaînes de caractères 3 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. Initialisation d’une chaîne Les chaînes de caractères 4 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. Initialisation d’une chaîne Exemple Les chaînes de caractères 5 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. Caractères spéciaux 0 caractère de fin de chaîne " guillemet barre oblique. n retour à la ligne Les chaînes de caractères 6 cout<<"PinPon"; cout<<"Pin0Pon"; cout<<"PinPon"; cout<<"PinnPon"; > PinPon > Pin > PinPon > Pin Pon
  • 7. Exemple Les chaînes de caractères 7 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. 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 . Les chaînes de caractères 8 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. Lecture d’une chaine de caractères En utilisant scanf()  Utiliser la spécification de champ %s dans scanf pour lire la chaîne  Lire les caractères jusqu'au prochain espace blanc rencontré  Le language C stocke le caractère nul (0) après le dernier caractère d'espace non blanc Les chaînes de caractères 9
  • 10. Exemple Les chaînes de caractères 10 int main() { // on lire une chaine de caractère* dans le variable name printf(“Lire votre nom et prénom: ”); char name[14]; scanf(“%s”, &name); printf(“Votre nom et prénom: %s”, name); } > Lire votre nom et prénom: Adel Boughida Votre nom et prénom: Adel Problème: scanf() permet de lire seulement les caractères avant le premier espace rencontré Solution: utiliser gets()
  • 11. Lecture d’une chaine de caractères En utilisant gets() L'inconvénient de la lecture d'une chaîne à l'aide de scanf() est qu'elle ne lit pas les espaces. • Si la chaîne à lire en tant qu'entrée contient des caractères d'espace blanc intégrés, utilisez la fonction standard gets(). Les chaînes de caractères 11
  • 12. Exemple Les chaînes de caractères 12 int main() { // on lire une chaine de caractère* dans le variable name avec gets printf(“Lire une chaine SVP: ”); char chaine[10]; gets(chaine); printf(“La chaine: %s”, chaine); } > Lire une chaine SVP: Math info La chaine: Math info Problème: scanf() permet de lire seulement les caractères avant le premier espace rencontré Solution: utiliser gets()
  • 13. Ecriture d’une chaine de caractères En utilisant printf() Utilisez la spécification de champ %s dans printf pour écrire une chaine de caractères. les caractères de la chaîne qui sont imprimées sont jusqu'à 0 En utilisant puts() L'inconvénient de l'impression d'une chaîne à l'aide de printf() est qu'elle n'imprime pas d'espaces blancs. • Si la chaîne à imprimer en tant que sortie contient des caractères d'espacement intégrés, utilisez la fonction standard puts(). Les chaînes de caractères 13
  • 14. Exemple Les chaînes de caractères 14 int main() { // on déclare 2 chaînes char nom[5] = "Adel"; printf("|%s|", nom); //affiche |Adel| char nom2[14] = "Adel Boughida"; printf("%s", nom2); //affiche Adel puts(nom2); //affiche Adel Boughida } |Adel| Adel Adel Boughida
  • 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. Les chaînes de caractères 15
  • 16. Exemple Les chaînes de caractères 16 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. Exemple Les chaînes de caractères 17 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. Exemple Les chaînes de caractères 18 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