stricmp, _mbsicmp, _wcsicmp
Remonter à String.h - Index
Sommaire
Fichier d'en-tête
string.h, mbstring.h
Catégorie
Routines de mémoire et de manipulation de chaînes
Prototype
<span class="codeInline">int stricmp(const char *s1, const char *s2);</span>
<span class="codeInline">int _wcsicmp(const wchar_t *s1, const wchar_t *s2);</span>
<span class="codeInline">int _mbsicmp(const unsigned char *s1, const unsigned char *s2);</span>
Description
Compare une chaîne à une autre, sans sensibilité à la casse.
stricmp
effectue une comparaison non signée de s1 et s2, en commençant par le premier caractère de chaque chaîne et en continuant avec les caractères suivants jusqu'à ce que :
- Les caractères correspondants diffèrent
- Ou que la fin des chaînes soit atteinte.
La comparaison n'est pas sensible à la casse. stricmp
renvoie une valeur (< 0, 0 ou > 0) en fonction du résultat de la comparaison de s1 (ou d'une partie de s1) avec s2 (ou une partie de s2).
Les routines stricmp
et strcmpi
sont les mêmes. strcmpi
est implémentée via une macro dans string.h qui traduit les appels de strcmpi
en stricmp
. Par conséquent, pour utiliser stricmp
, vous devez inclure le fichier d'en-tête string.h pour que la macro soit disponible.
Valeur de retour
inférieur à s2 |
< 0 |
identique à s2 |
== 0 |
supérieur à s2 |
> 0 |
Exemple
#include <string.h>
#include <stdio.h>
int main (void)
{
char *buf1 = "BBB", *buf2 = "bbb";
int ptr;
ptr = stricmp(buf2, buf1);
if (ptr > 0)
printf("buffer 2 is greater than buffer 1\n");
if (ptr < 0)
printf("buffer 2 is less than buffer 1\n");
if (ptr == 0)
printf("buffer 2 equals buffer 1\n");
return 0;
}
Portabilité
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
stricmp |
+ |
+ |
+ | |
_mbsicmp |
+ |
|||
_wcsicmp |
+ |