標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
ISO C |
両方 |
#include <string.h>
int memcmp(const void *buf1, const void *buf2, size_t count);
memcmp() 組み込み関数は、buf1 と buf2 の 先頭 count バイトを比較します。
この関係は、異なる左端の最初のバイトの対の 値における差の符号で判別されます。値は EBCDIC エンコードに依存します。この関数はロケールに依存しません。
⁄* CELEBM12
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 ( result == 0 )
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] );
}
}
出力
When the first 11 characters are compared,
“firststring” is less than “secondstring”