Syntaxe :
#include <cstring> int strcmp (const char *str1, const char *str2);
La fonction strcmp()
compare str1
et str2
. La valeur de retour
est un entier à interpréter selon sa valeur :
Valeur | Signification |
---|---|
inférieur à 0 | le premier caractère qui diffère dans les chaînes str1 et str2 a une plus grande valeur dans str2 |
égal à 0 | str1 est identique à str2 |
supérieur à 0 | le premier caractère qui diffère dans les chaînes str1 et str2 a une plus grande valeur dans str2 |
Par exemple :
printf("Entrez votre nom : "); scanf("%s", nom); if (strcmp(nom, "Marie") == 0) { printf("Bonjour, Dr. Marie !\n"); }
Remarquez que si str1
ou str2
n'a pas de caractère de fin de chaîne (\0
)
alors strcmp()
peut ne pas produire un résultat valide. Pour une fonction similaire
qui permet une limitation de ce problème, voir strncmp()
.
Sujets connexes : memcmp, strcat, strchr, strcoll, strcpy, strlen, strncmp, strxfrm