Retour Suite Index

8.6.2. Les fonctions de <string>

La bibliothèque <string> fournit une multitude de fonctions pratiques pour le traitement de chaînes de caractères. Voici une brève description des fonctions les plus fréquemment utilisées.

Dans le tableau suivant, <n> représente un nombre du type int. Les symboles <s> et <t> peuvent être remplacés par :

* une chaîne de caractères constante

* le nom d'une variable déclarée comme tableau de char

* un pointeur sur char (voir chapitre 9)

Fonctions pour le traitement de chaînes de caractères

strlen(<s>)

fournit la longueur de la chaîne sans compter le '\0' final

strcpy(<s>, <t>)
copie <t> vers <s>

strcat(<s>, <t>)
ajoute <t> à la fin de <s>

strcmp(<s>, <t>)
compare <s> et <t> lexicographiquement et fournit un résultat:


négatif
si <s> précède <t>

zéro
si <s> est égal à <t>

positif
si <s> suit <t>
strncpy(<s>, <t>, <n>)
copie au plus <n> caractères de <t> vers <s>

strncat(<s>, <t>, <n>)
ajoute au plus <n> caractères de <t> à la fin de <s>

Remarques

- Comme le nom d'une chaîne de caractères représente une adresse fixe en mémoire, on ne peut pas 'affecter' une autre chaîne au nom d'un tableau:

Attention!

Il faut bien copier la chaîne caractère par caractère ou utiliser la fonction strcpy respectivement strncpy:

strcpy(A, "Hello");

- La concaténation de chaînes de caractères en C ne se fait pas par le symbole '+' comme en langage algorithmique ou en Pascal. Il faut ou bien copier la deuxième chaîne caractère par caractère ou bien utiliser la fonction strcat ou strncat.

- La fonction strcmp est dépendante du code de caractères et peut fournir différents résultats sur différentes machines (voir 8.5.).

Retour Suite Index