名前空間
変種
操作

strcmp

提供: cppreference.com
< c‎ | string‎ | byte
ヘッダ <string.h> で定義
int strcmp(constchar*lhs, constchar*rhs );

2つのヌル終端バイト文字列を辞書的に比較します。

結果の符号は比較する文字列内の最初の異なる文字の組の値 (どちらも unsignedchar として解釈されます) の差の符号です。

lhs または rhs がヌル終端バイト文字列を指すポインタでない場合、動作は未定義です。

目次

[編集]引数

lhs, rhs - 比較するヌル終端バイト文字列を指すポインタ

[編集]戻り値

辞書順で lhsrhs より前に現れる場合は負の値。

lhsrhs が等しい場合はゼロ。

辞書順で lhsrhs より後に現れる場合は正の値。

[編集]ノート

この関数は、 strcollstrxfrm と異なり、ロケール対応ではありません。

[編集]

#include <string.h>#include <stdio.h>   void demo(constchar* lhs, constchar* rhs){int rc = strcmp(lhs, rhs);constchar*rel = rc <0?"precedes": rc >0?"follows":"equals";printf("[%s] %s [%s]\n", lhs, rel, rhs);}   int main(void){constchar* string ="Hello World!"; demo(string, "Hello!"); demo(string, "Hello"); demo(string, "Hello there"); demo("Hello, everybody!"+12, "Hello, somebody!"+11);}

出力:

[Hello World!] precedes [Hello!] [Hello World!] follows [Hello] [Hello World!] precedes [Hello there] [body!] equals [body!]

[編集]参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.24.4.2 The strcmp function (p: 365-366)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.21.4.2 The strcmp function (p: 328-329)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.11.4.2 The strcmp function

[編集]関連項目

2つの文字列の文字を一定量比較します
(関数)[edit]
(C95)
2つのワイド文字列を比較します
(関数)[edit]
2つのバッファを比較します
(関数)[edit]
現在のロケールに従って2つの文字列を比較します
(関数)[edit]
close