Syntax
#include <string.h> /* also in <memory.h> */ int memcmp(const void *buf1, const void *buf2, size_t count);Description
memcmp compares the first count bytes of buf1 and buf2.
memcmp returns a value indicating the relationship between the two buffers as follows: compact break=fit.
Value
This example compares first and second arguments passed to main to determine which, if either, is greater.
#include <stdio.h>#include <string.h>
int main(int argc,char **argv)
{
int len;
int result;
if (argc != 3) {
printf("Usage: %s string1 string2\n", argv[0]);
}
else {
/* Determine the length to be used for comparison */
if (strlen(argv[1]) < strlen(argv[2]))
len = strlen(argv[1]);
else
len = strlen(argv[2]);
result = memcmp(argv[1], argv[2], len);
printf("When the first %i characters are compared,\n", len);
if (0 == result)
printf("\"%s\" is identical to \"%s\"\n", argv[1], argv[2]);
else
if (result < 0)
printf("\"%s\" is less than \"%s\"\n", argv[1], argv[2]);
else
printf("\"%s\" is greater than \"%s\"\n", argv[1], argv[2]);
}
return 0;
/****************************************************************************
If the program is passed the arguments "firststring secondstring",
the output should be:
When the first 11 characters are compared,
"firststring" is less than "secondstring"
****************************************************************************/
}
Related Information