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>
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 *);
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);
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);
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 );
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.
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
La bibliothèque string.h ...
string.h
est généralement installé par defaut avec les compilateurs.
Essaie encore ...
La fonction strcpy()
...
char *strcpy(char *s1, const char *s2);
strcpy(dest, src)
signifie string copy.
Essaie encore ...
La fonction strcat()
...
char *strcat(char *s1, const char *s2);
char * strcat ( char * destination, const char * source );
Essaie encore ...
Avec les fonctions strcat()
et strcpy()
, la taille de la chaîne de destination ...