文字列比較命令
s1
s1=s2の場合、戻り値=0
when s1>s2 の場合、正の数を返します
strcmp(str1, str2) 関数は、文字に従って 2 つの文字列を比較します。つまり、異なる文字が現れるまで、2 つの文字列が左から右に 1 文字ずつ比較されます (ASCII 値に従って比較されます)。
strnatcmp(str1, str2) 関数は、自然な並べ替えアルゴリズムを使用して文字列を比較します。この関数は、人間の習慣に基づいて数値文字列を並べ替える比較アルゴリズムを実装します。これが「自然な順序」です。strncmp(str1, str2, len) 関数の比較原理は、strcmp(str1, str2) 関数の比較原理と似ていますが、文字列の先頭の len 文字のみを比較する点が異なります。
ps: 上記の 3 つの関数はすべて大文字と小文字を区別します。比較される文字列が大文字と小文字を区別しない場合は、他にも 3 つの同様の関数があります: strcasecmp、strnatcasecmp、strncasecmp.
int strncmp(char *str1, char *str2, int maxlen);
strncmp にはもう 1 つのパラメーター maxlen があることがわかります。違いはここで、これは文字列の最初の maxlen 長さの文字を比較することを意味します
2 つの戻り値も異なります:
s1
strncmp: 最初の maxlen バイトが完全に等しい場合、戻り値 = 0
比較中に str1[n] と str2[n] が等しくない場合最初の maxlen バイトの処理、return (str1[n]-str2[n])。
文字列比較関数 strcmp() と strncmp()
s1 が s2 の部分文字列の場合、s1 は s2 より小さいです
さらに、関数
int strncmp (const char *s1, const char *s2, size_t size) もあります
この関数は strcmp とよく似ています。違いは、strncmp 関数が文字のサイズを比較するように指定されていることです。つまり、文字列 s1 と s2 の最初のサイズの文字が同じである場合、関数は値 0 を返します。