Cours 10.3. La bibliothèque string.h

La bibliothèque string.h est une bibliothèque standard du C. Elle contient diverses fonctions pour la manipulation des chaînes de caractères. Cette page présente quelques-unes des plus fréquemment utilisées, mais cette présentation n'est pas exhaustive.

#include <string.h>

Longueur d'une chaîne de caractères

La fonction strlen() que nous avons déjà utilisé dans ce cours retourne le nombre de caractères (jusqu'au zéro de fin de chaîne).

size_t strlen(const char *);

Copie d'une chaîne de caractères

La fonction strcpy() (string copy) permet de copier la chaîne source dans la chaîne destination. Attention, la chaîne de destination doit être suffisament grande pour accueillir la copie. Les caractères sont copiés jusqu'au caractère de fin de chaîne.

char *strcpy(char *destination, const char *source);

Comparaison de chaînes de caractères

La fonction strcmp() (string compare) permet de comparer deux chaînes de caractères. La fonction retourne 0 si les chaînes sont identiques, une valeur différente de zéro sinon.

int strcmp(const char *s1, const char *s2);

Concaténation de chaînes de caractères

Une concaténation est l'action de mettre bout à bout au moins deux chaînes de caractères.

La fonction strcat() (string concatenate) permet de d'ajouter la chaîne source à la fin de la chaîne destination. Comme pour la fonction strcpy(), il faut que la chaîne destination soit suffisamment grande pour accueillir les deux chaînes bout à bout.

char * strcat ( char * destination, const char * source );

Exercices

Exercice 1

Ecrire un programme qui demande à l’utilisateur de saisir son prénom (50 caractères maximum), puis son nom (50 caractères maximum). Ensuite, le programme crée et affiche une chaîne de caractères message qui contient le texte «Bonjour Prénom Nom.».

Le programme doit créer une chaîne avec le nom complet avant de l'afficher. En d'autres termes, vous devez utiliser une fonction de la bibliothèque string.h.

Par exemple :

Prénom : Cléa
Nom : Molette
Bonjour Cléa Molette.

Exercice 2

On fournit les chaînes de caractères suivantes :

#define   TEXTE  "Texte à copier."
char src[] = TEXTE;
char dest[] = "Chaîne pour la copie.";

Écrire le code qui copie la chaîne str dans la chaîne dest, puis vérifie que la copie est bien égale à TEXTE. Si la copie s'est normalement déroulée, le programme affiche Copy OK, sinon il affiche Copy error.

Copy OK

Quiz

La bibliothèque string.h ...

Vérifier Bravo ! string.h est généralement installé par defaut avec les compilateurs. Essaie encore ...

La fonction strcpy() ...

char *strcpy(char *s1, const char *s2);
Vérifier Bravo ! strcpy(dest, src) signifie string copy. Essaie encore ...

La fonction strcat() ...

char *strcat(char *s1, const char *s2);
Vérifier Bravo ! Le prototype de la fonction est char * strcat ( char * destination, const char * source ); Essaie encore ...

Avec les fonctions strcat() et strcpy(), la taille de la chaîne de destination ...

Vérifier Bravo ! La chaîne de destination doit être suffamment grande avant l'appel de la foncion. Essaie encore ...

Voir aussi


Dernière mise à jour : 26/11/2022