Programmer en langage C
154
© Éditions Eyrolles
4.3 Le cas des fonctions de concaténation
Il existe des fonctions dites de concaténation, c’est-à-dire de mise bout à bout de deux chaînes.
A priori, de telles fonctions créent une nouvelle chaîne à partir de deux autres. Elles devraient
donc recevoir en argument trois adresses ! En fait, C a prévu de se limiter à deux adresses en
convenant arbitrairement que la chaîne résultante serait obtenue en ajoutant la seconde à la fin
de la première, laquelle se trouve donc détruite en tant que chaîne (en fait, seul son \0 de fin a
disparu...). Là encore, on trouvera deux variantes dont l’une permet de limiter la longueur de
la chaîne résultante.
Pour vous familiariser avec cette façon guère naturelle de manipuler les chaînes, nous vous
présenterons d’abord en détail les fonctions de concaténation et de copie (ce sont les plus utilisées). Les indications fournies ensuite, ainsi que l’annexe, devraient vous permettre de pouvoir
faire appel aux autres sans difficulté.
5 Les fonctions de concaténation de chaînes
5.1 La fonction strcat
Voyez cet exemple :
Notez la différence entre les deux déclarations (avec initialisation) de chacune des deux chaînes
ch1 et ch2. La première permet de réserver un emplacement plus grand que la constante
chaîne qu’on y place initialement.
Fonction strcat
#include
#include
main()
{
char ch1[50] = "bonjour" ;
char * ch2 = " monsieur" ;
printf ("avant : %s\n", ch1) ;
strcat (ch1, ch2) ;
printf ("après : %s", ch1) ;
}
avant : bonjour
après : bonjour monsieur
Delannoy Livre.book Page 154 Mercredi, 6. mai 2009 4:26 16
Précédent

- 167/281

Suivant