_memicmp
Visual Studio .NET 2003
Compares characters in two buffers (case-insensitive).
int _memicmp( const void *buf1, const void *buf2, size_t count );
Parameters
- buf1
- First buffer.
- buf2
- Second buffer.
- count
- Number of characters.
Return Value
The return value indicates the relationship between the buffers.
| Return value | Relationship of first count bytes of buf1 and buf2 |
|---|---|
| < 0 | buf1 less than buf2 |
| 0 | buf1 identical to buf2 |
| > 0 | buf1 greater than buf2 |
Remarks
The _memicmp function compares the first count characters of the two buffers buf1 and buf2 byte by byte. The comparison is not case sensitive.
Requirements
| Routine | Required header | Compatibility |
|---|---|---|
| _memicmp | <memory.h> or <string.h> | Win 98, Win Me, Win NT, Win 2000, Win XP |
For additional compatibility information, see Compatibility in the Introduction.
Libraries
All versions of the C run-time libraries.
Example
// 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" );
}
Output
Compare 'Those Who Will Not Learn from' to 'THOSE WHO WILL NOT LEARN FROM' First is equal to second.
See Also
Buffer Manipulation Routines | _memccpy | memchr | memcmp | memcpy | memset | _stricmp | _strnicmp | Run-Time Routines and .NET Framework Equivalents