arrow 若葉プログラミング塾 > 知識の玉手箱 > C関数リファレンス >
strcmp()
strcmp()

この関数の目的

strcmp()は、文字列を比較する。

定義

	#include <string.h>
	int strcmp(const char *s1, const char *s2);

働き

この関数は、 s1 が指す文字列を s2 が指す文字列と比較する。

返り値は、 s1 が指す文字列が s2 が指す文字列より大きいか、等しいか、小さいかによって、負、ゼロ、正の整数値である。

解説

この関数は文字数チェックを行わないので、ヌル止めされていない文字列を比較しようとすると、際限なく参照してしまう。 実際には不定の領域が等しいことは少ないので、実行時エラーにならないかもしれないが、返り値はでたらめであり、これを使えば明らかなバグとなる。 比較したい文字数の上限が分かっているのであれば、 strncmp() を使うのが安全である。

文字列の大小を決める方法は定義されていないが、等しい文字列を比較すればゼロが返るということは決まっている。

返り値を使って、検索に便利な二進木を構築することができる。

arrow 若葉プログラミング塾 > 知識の玉手箱 > C関数リファレンス >
KC