_memicmp
, _memicmp_l
Compare les caractères dans deux mémoires tampons (non-respect de la casse).
Syntaxe
int _memicmp(
const void *buffer1,
const void *buffer2,
size_t count
);
int _memicmp_l(
const void *buffer1,
const void *buffer2,
size_t count,
_locale_t locale
);
Paramètres
buffer1
Première mémoire tampon.
buffer2
Seconde mémoire tampon.
count
Nombre de caractères.
locale
Paramètres régionaux à utiliser.
Valeur retournée
La valeur de retour indique la relation entre les mémoires tampons.
Valeur retournée | Relation des count premiers octets de buf1 et buf2 |
---|---|
< 0 | buffer1 inférieur à buffer2 . |
0 | buffer1 identique à buffer2 . |
> 0 | buffer1 supérieur à buffer2 . |
_NLSCMPERROR |
Une erreur est survenue. |
Notes
La fonction _memicmp
compare les count
premiers caractères des deux mémoires tampons buffer1
et buffer2
octet par octet. La comparaison n’est pas sensible à la casse.
Si l’un buffer1
ou buffer2
l’autre est un pointeur Null, cette fonction appelle un gestionnaire de paramètres non valide, comme décrit dans la validation des paramètres. Si l'exécution est autorisée à continuer, cette fonction retourne _NLSCMPERROR
et définit à errno
à EINVAL
.
La fonction _memicmp
utilise les paramètres régionaux actuels pour le comportement dépendant des paramètres régionaux ; la fonction _memicmp_l
est identique, à ceci près qu’elle utilise à la place les paramètres régionaux qui ont été passés. Pour plus d’informations, consultez Locale.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Routine | En-tête requis |
---|---|
_memicmp |
<memory.h> ou <string.h> |
_memicmp_l |
<memory.h> ou <string.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// crt_memicmp.c
// This program uses _memicmp to compare
// the first 29 letters of the strings named first and
// second without regard to the case of the letters.
#include <memory.h>
#include <stdio.h>
#include <string.h>
int main( void )
{
int result;
char first[] = "Those Who Will Not Learn from History";
char second[] = "THOSE WHO WILL NOT LEARN FROM their mistakes";
// Note that the 29th character is right here ^
printf( "Compare '%.29s' to '%.29s'\n", first, second );
result = _memicmp( first, second, 29 );
if( result < 0 )
printf( "First is less than second.\n" );
else if( result == 0 )
printf( "First is equal to second.\n" );
else if( result > 0 )
printf( "First is greater than second.\n" );
}
Compare 'Those Who Will Not Learn from' to 'THOSE WHO WILL NOT LEARN FROM'
First is equal to second.
Voir aussi
Manipulation des mémoires tampons
_memccpy
memchr
, wmemchr
memcmp
, wmemcmp
memcpy
, wmemcpy
memset
, wmemset
_stricmp
, _wcsicmp
, _mbsicmp
, _stricmp_l
, _wcsicmp_l
, _mbsicmp_l
_strnicmp
, _wcsnicmp
, _mbsnicmp
, _strnicmp_l
, _wcsnicmp_l
, _mbsnicmp_l
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour