著者:
William Ramirez
作成日:
18 9月 2021
更新日:
1 J 2024
![CのSTRCMP()関数| Cで2つの文字列を比較する方法-パート2](https://i.ytimg.com/vi/OqHAYgIYDCM/hqdefault.jpg)
コンテンツ
Cコードでは、文字列の長さを比較して、より多くの文字が含まれている文字列を見つけるのが非常に一般的です。これは、データの並べ替えに役立ちます。文字列を比較するには特別な関数が必要です-使用しないでください != また ==.
ステップ
1 Cプログラミング言語には、文字列の長さを比較するために使用できる2つの関数が含まれています。 これらの関数は両方ともライブラリに含まれています string.h>.
- strcmp() -この関数は2つの文字列を比較し、文字数の違いを返します。
- strncmp() -この関数はと同じです strcmp() 最初の NS 文字。オーバーフロー障害を回避するため、より安全であると見なされます。
2 必要なライブラリを使用してプログラムを開始します。 ライブラリが必要になります stdio.h> と string.h>また、特定のプログラムに必要なその他のライブラリもあります。
#include stdio.h> #include string.h>
3 機能を入力してください int. 2つの文字列の長さを比較した結果、整数を返します。
#include stdio.h> #include string.h> int main(){}
4 比較する2つの文字列を特定します。 この例では、タイプの2つの文字列を比較してみましょう。 char..。また、戻り値を整数として定義します。
#include stdio.h> #include string.h> int main(){char * str1 = "apple"; char * str2 = "オレンジ"; int ret; }
5 比較関数を入力します。 この例では、関数を使用します strncmp()..。その中であなたは測定された文字の数を設定する必要があります。
#include stdio.h> #include string.h> int main(){char * str1 = "apple"; char * str2 = "オレンジ"; int ret; ret = strncmp(str1、str2、8); / *最大8文字の長さの2つの文字列を比較します * /}
6 条件文を入力してください もしも。.. そうしないと。どの行が長いかを示す必要があります。関数 strncmp() 番号を返します 0文字列の長さが同じ場合、str1が長い場合は正の数、str2が長い場合は負の数。
#include stdio.h> #include string.h> int main(){char * str1 = "apple"; char * str2 = "オレンジ"; int ret; ret = strncmp(str1、str2、8); if(ret> 0){printf( "str1 is long"); } else if(ret 0){printf( "str2 is long"); } else {printf( "行の長さが等しい"); } return(0); }
警告
- 文字列の長さが等しい場合、値0が返されることに注意してください。これは、0もFALSEであるため、混乱を招く可能性があります。