C言語でstrcmpを用いて2つの文字列を比較するには?
C言語では、strcmp 関数を使って2つの文字列を比較することができます。strcmp 関数は、2つの文字列の大きさ関係を比較するために使用される標準ライブラリ関数です。
strcmp関数のプロトタイプは次のとおりです。
int strcmp(const char *str1, const char *str2);
str1とstr2という2つの文字列を比較して、比較の結果を返します。
返り値の説明:
- 0が返される場合、2つの文字列が等しいことを示します。
- 戻り値が0未満:str1はstr2より小さい
- 値が 0 より大きい場合は、str1 が str2 より大きいことを意味します。
strcmp関数を用いて2つの文字列を比較する例を次に示します。
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello";
char str2[] = "world";
int result = strcmp(str1, str2);
if (result == 0) {
printf("str1和str2相等\n");
} else if (result < 0) {
printf("str1小于str2\n");
} else {
printf("str1大于str2\n");
}
return 0;
}
出力結果:
str1小于str2
上記のサンプル例では、まずstr1 と str2 という2つの文字列を定義し、その後 strcmp 関数を利用して2つの文字列を比較し、その比較結果を result 変数に格納しています。最後に result の値に応じて、比較結果を出力しています。