© Éditions Eyrolles
157
chapitre n° 8
Les chaînes de caractères
c) Enfin, deux fonctions :
stricmp ( chaîne1, chaîne2 )
(string.h)
strnicmp ( chaîne1, chaîne2, lgmax )
(string.h)
travaillent respectivement comme strcmp et strncmp, mais sans tenir compte de la différence entre majuscules et minuscules (pour les seuls caractères alphabétiques).
7 Les fonctions de copie de chaînes
a) La fonction :
strcpy ( but, source )
(string.h)
recopie la chaîne située à l’adresse source dans l’emplacement d’adresse destin. Là
encore, il est nécessaire que la taille du second emplacement soit suffisante pour accueillir la
chaîne à recopier, sous peine d’écrasement intempestif.
Cette fonction fournit comme résultat l’adresse de la chaîne but.
b) La fonction :
strncpy ( but, source, lgmax )
(string.h)
procède de manière analogue à strcpy, en limitant la recopie au nombre de caractères précisés
par l’expression entière lgmax.
Notez bien que, si la longueur de la chaîne source est inférieure à cette longueur maximale,
son caractère de fin (\0) sera effectivement recopié. Mais, dans le cas contraire, il ne le sera
pas. L’exemple suivant illustre les deux situations :
Fonctions de recopie de chaînes : strcpy et strncpy
#include
#include
main()
{
char ch1[20] = "xxxxxxxxxxxxxxxxxxx" ;
char ch2[20] ;
printf ("donnez un mot : ") ;
gets (ch2) ;
strncpy (ch1, ch2, 6) ;
printf ("%s", ch1) ;
}
Delannoy Livre.book Page 157 Mercredi, 6. mai 2009 4:26 16
Précédent

- 170/281

Suivant