Académique Documents
Professionnel Documents
Culture Documents
1. Définition
2. Déclaration
3. Initialisation
4. Opérations I/O
5. Fonctions de string.h
6. Fonctions de stdlib.h
7. Fonctions de ctype.h
2023-2024
1
Les chaînes de caractères
• De même que pour les tableaux de chiffres, le nom de la chaîne est le représentant de
son adresse mémoire (plus précisément le représentant de l'adresse du premier
caractère)
• Pour afficher l’adresse du 1er caractère : printf("%p",NomChaine)
• Exemple :
Voici la mémorisation de la chaîne "BONJOUR!"
2 2023-2024
Les chaînes de caractères
• Remarque
'a' Vs "a"
'a' "a"
'a' : est un caractère constant, qui a "a": est un tableau de caractères qui
le code ASCII 97 contient deux caractères, la lettre 'a'
et le caractère NULL: '\0'
'a' : est codé sur un octet
"a" : est codé sur deux octets
3 2023-2024
Les chaînes de caractères
Exemple1:
char ch[]="Programmation";
Réservation automatiquement du nombre d'octets nécessaires pour la chaîne ch
Exemple2 :
char C[]="Ce texte\n s'écrira sur \n trois lignes"
4 2023-2024
Les chaînes de caractères
5 2023-2024
Les chaînes de caractères
Exemple 1 :
#include<stdio.h>
#include<stdio.h>
void main() void main()
{ {
char ch[100]; char ch[100];
printf("donner une puts("donner une
chaine"); chaine");
scanf("%s",ch); gets(ch);
printf("%s",ch);
} puts(ch);
}
6 2023-2024
Les chaînes de caractères
Exemple 2:
#include<stdio.h>
void main()
{
char nom[70],prenom[70];
printf("Donner votre nom et pr%cnom",130);
scanf("%s%s",nom,prenom); gets(nom);
gets(prenom);
7 2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
4.Bibliothèque string.h : strlen Introduction
strlen : calcule la longueur d’une chaîne sans compter le ‘\0’ et
retourne un entier.
• Exemple
char ch[]="Bonjour";
int l=strlen(ch);
printf("La longueur de ch = %d",l);
• Equivalent sans strlen
int i;
for(i=0;ch[i];i++);
printf("La longueur de ch sans strlen = %d",i);
8 2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
4.Bibliothèque string.h : strcpy Introduction
ch_destination = chaine_source
C Tableau unidimentionnel
4.Bibliothèque string.h : strcpy Introduction
Exemple
char ch1[100],ch2[100];
strcpy (ch1,"bonjour") ;
strcpy (ch2,"Au revoir") ;
strcpy (ch2,ch1) ;
NB. Les lettres sont indiquées juste pour simplifier (normalement en code ASCII)
b o n j o u r \0
ch1 Adresses
101 102 103 104 105 106 107 108 mémoires
b
A o
u n jr o
e u
v ro \0
i r \0
ch2 300 301 302 303 304 305 306 307 308 309
10 2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
4.Bibliothèque string.h : strcpy Introduction
int i,j;
char ch1[]="Bonjour",
ch2[]="Au revoir";
for(i=0,j=0;ch1[i];i++,j++)
ch2[j]=ch1[i];
ch2[j]='\0';
11 2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
4.Bibliothèque string.h : strncpy Introduction
300 301 302 303 304 305 306 307 308 309
ch2
12 2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
4.Bibliothèque string.h : strncpy Introduction
Exemple 2
Exécution
C Tableau unidimentionnel
4.Bibliothèque string.h : strcmp Introduction
14 2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
4.Bibliothèque string.h Introduction
15 2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
4.Bibliothèque string.h : strcmp Introduction
C Tableau unidimentionnel
4.Bibliothèque string.h : strncmp Introduction
C Tableau unidimentionnel
4.Bibliothèque string.h : strncmp Introduction
Réflexions :
char ch1[]="abcdef",ch2[]="abc";
printf("\nstrncmp(%s , %s, %d) = %d",ch1,ch2, 5,
strncmp(ch1,ch2,5));
printf("\nstrncmp(%s , %s, %d) = %d",ch2,ch1, 5,
strncmp(ch2,ch1,5));
18 2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
4.Bibliothèque string.h : stricmp et Introduction
strnicmp
19 2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
4.Bibliothèque string.h : strcat Introduction
Exemple
char ch1[10]="Bon",ch2[10]="soir";
strcat (ch1,ch2);
20 2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
4.Bibliothèque string.h : strncat Introduction
21 2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
4.Bibliothèque string.h : strstr Introduction
strstr ( ch , sch)
• Recherche la première occurrence d’une sous-chaine sch dans la
chaîne principale ch
• Si la sous-chaîne sch est trouvée dans ch, la fonction strstr renvoie
un pointeur visant sa première occurrence. Dans le cas contraire, la
fonction strstr renvoie un pointeur nul (NULL)
Exemple
char ch1[10]="Bonsoir",ch2[10]="soir";
if (strstr( ch1,ch2 ) == NULL )
printf ( " %s ne contient pas %s ", ch1, ch2);
else
22 printf( " %s contient %s ", ch1, ch2 );
2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
4.Bibliothèque string.h : strchr Introduction
strchr( ch , char)
• Recherche la première occurrence du caractère char dans la chaîne
de caractères ch
• Si le caractère char est trouvé dans ch, la fonction strchr renvoie un
pointeur sur sa première occurrence. Dans le cas contraire, la fonction
strchr renvoie un pointeur nul (NULL)
Exemple
char c =‘f’,ch[5]="soir";
if ( strchr( ch,c ) == NULL )
printf ( " %s ne contient pas %c ", ch, c);
else
23 printf( " %s contient %s ", ch, c );
2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
5.Les fonctions de stdlib.h Introduction
La bibliothèque <stdlib> contient des déclarations de fonctions pour
la conversion de nombres en chaînes de caractères et vice-versa
Exemple
24 2023-2024
Les chaînes de caractères
C Tableau unidimentionnel
6.Les fonctions de ctype.h Introduction
• Les fonctions de <ctype> servent à classifier et à convertir des caractères.
• Les symboles (é, è, ä, ü, ß, ç, ...) ne sont pas considérés.
• Les fonctions de <ctype> sont indépendantes du code de caractères de la
machine et favorisent la portabilité des programmes.
• Dans la suite, c représente une valeur du type int qui peut être représentée comme
caractère.
• Les fonctions de conversion suivantes fournissent une valeur du type int qui peut
être représentée comme caractère; la valeur originale de c reste inchangée:
C Tableau
7.Activités unidimentionnel Introduction
Activité 1
Ecrire un programme en langage C qui permet de :
• lire 5 chaînes de caractères et les stocker dans un tableau
• saisir une autre chaîne de caractères
• chercher si la chaîne saisie existe parmi les chaînes du tableau
Activité 2
Lire une chaîne et un caractère et afficher le nombre d’occurrence du
caractère dans la chaîne saisie
26 2023-2024