Le man de la fonction strcmp
🎯 Comparaison de deux chaînes de caractères.
⚙️ Prototype de strcmp
int strcmp(const char *s1, const char *s2);
🧑💻 Fonctionnement de strcmp
strcmp
compare deux chaînes de caractères, s1
et s2
, caractère par caractère, en utilisant le code ASCII pour les comparer. La comparaison se poursuit jusqu’à ce que les caractères soient différents ou qu’un caractère nul \0
soit atteint dans l’une des chaînes.
Paramètres :
s1
: Pointeur vers la première chaîne de caractères.s2
: Pointeur vers la seconde chaîne de caractères.
Retour :
- Un entier moins que zéro si
s1
est inférieure às2
(selon l’ordre lexicographique). - Zéro si
s1
ets2
sont égales. - Un entier supérieur à zéro si
s1
est supérieure às2
.
Remarques :
strcmp
effectue une comparaison sensible à la casse, c’est-à-dire qu’il fait une différence entre les majuscules et les minuscules (‘A’ est différent de ‘a’).- Attention :
strcmp
ne prend pas en compte la longueur des chaînes de manière explicite. Si les chaînes sont de longueurs différentes mais commencent par la même séquence de caractères, la chaîne la plus courte sera considérée comme inférieure.
✨ Exemple d'utilisation de strcmp
Comparer des mots pour trier une liste :
char *words[] = {"banana", "apple", "cherry"};
if (strcmp(words[0], words[1]) > 0)
{
// swap words[0] et words[1]
}
Voir aussi :
strncmp
: Compare un nombre spécifié de caractères de deux chaînes.strcasecmp
: Compare deux chaînes de manière insensible à la casse (non standard, spécifique à certaines implémentations).strcpy
: Copie une chaîne de caractères dans une autre.strlen
: Calcule la longueur d’une chaîne de caractères.memcmp
: Compare deux blocs de mémoire.