memcmp()
Compare the bytes in two buffers
Synopsis:
#include <string.h> int memcmp( const void* s1, const void* s2, size_t length );
Arguments:
- s1, s2
- Pointers to the buffers that you want to compare.
- length
- The number of bytes that you want to compare.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The memcmp() function compares length bytes of the buffer pointed to by s1 to the buffer pointed to by s2.
Returns:
- < 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 = memcmp( buffer, "hello", 5 ); if( retval < 0 ) { printf( "Less than\n" ); } else if( retval == 0 ) { printf( "Equal to\n"); } else { printf( "Greater than\n"); } return EXIT_SUCCESS; }
produces the output:
Less than
Classification:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | Yes |
Signal handler | Yes |
Thread | Yes |