[Previous] [Contents] [Next]

memicmp()

Compare two buffers, ignoring case

Synopsis:

#include <string.h>

int memicmp( const void* s1,
             const void* s2,
             size_t length );

Library:

libc

Description:

The memicmp() function compares length bytes of the buffer pointed to by s1 with those of the buffer pointed to by s2. Upper- and lower-case letters are treated as equivalent.

Returns:

An integer, with the value given below:

< 0
The object pointed to by s1 is less than the object pointed to by s2.
0
The object pointed to by s1 is equal to the object pointed to by s2.
> 0
The object pointed to by s1 is greater than the object pointed to by s2.

Examples:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main( void )
{
    char buffer[80];
    int retval;

    strcpy( buffer, "World" );

    retval = memicmp( buffer, "hello", 5 );
    if( retval < 0 ) {
        printf( "Less than\n" );
    } else if( retval == 0 ) {
        printf( "Equal\n" );
    } else {
        printf( "Greater than\n");
    }
    
    return EXIT_SUCCESS;
}

produces the output:

Greater than

Classification:

QNX 4

Safety:
Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes

See also:

memccpy(), memchr(), memcmp(), memcpy(), memmove(), memset()


[Previous] [Contents] [Next]