標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
ISO C |
両方 |
#include <string.h>
int strcmp(const char *string1, const char *string2);
strcmp() 組み込み関数は、string1 で示される ストリングと string2 で示されるストリングを比較します。関数のストリング引数には、ストリングの終わりにマーク付けする NULL 文字 (¥0) が含まれている必要があります。
ストリング間の関係は、次のような減算によって判別されます。string1[i] - string2[i] (i は、0 から小さいほうのストリングの strlen に増加)。ゼロ以外の戻り値の符号は、比較するストリングが異なる、最初のバイト対 (両方とも符号なし char 型と解釈されている) の値間における差の符号によって決まります。この関数は、ロケール依存ではありません。
⁄* CELEBS36
This example compares the two strings passed to main using
&strcmp..
*⁄
#include <stdio.h>
#include <string.h>
int main(int argc, char ** argv)
{
int result;
if ( argc != 3 )
{
printf( "Usage: %s string1 string2¥n", argv[0] );
}
else
{
result = strcmp( argv[1], argv[2] );
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] );
}
}
出力
"is this first?" is greater than "is this before that one?"