
Chapitre 4 : Fichiers de type texte Page 87
Le bloc affiche : LALIBERTE PIERRE
b) char * strncpy (char * destination,char * source, int k)
(on copie jusqu'à k caractères au maximum)
Exemple :
...
strncpy(nomPre,"LALIBERTE PIERRE",4);
printf("%s", nomPre);
Le bloc affiche : LALI
6) La comparaison des chaînes de caractères :
a) int strcmp(char * chaine1, char * chaine2)
valeur retournée par la fonction signification
< 0 chaine1 < chaine2
0 chaine1 = chaine2
> 0 chaine1 > chaine2
Exemple :
...
strcmp("Bon", "Bourse") est inférieur à 0 car 'n' < 'u'
(les 2ères lettres sont pareilles)
strcmp("Bon", "Bon") vaut 0
strcmp("papa", "GRAND") est supérieur à zéro car 'p' > 'G'
(code ASCII)
b) int strncmp(char * chaine1,char * chaine2, int k)
Comme strcmp en se limitant aux k premiers caractères.
Exemple :
...
strncmp("Bon", "Bourse", 2) est 0
strncmp("Bon", "Bourse", 3) est < 0
etc ...
c) int stricmp (char * chaine1, char * chaine2)
int strincmp(char * chaine1, char * chaine2, int k)
Elles fonctionnent comme les deux dernières fonctions sans
tenir compte de la différence entre les majuscules et les
minuscules.