ホームページ  >  記事  >  バックエンド開発  >  strncmp関数の使い方の詳しい説明

strncmp関数の使い方の詳しい説明

藏色散人
藏色散人オリジナル
2020-07-07 11:46:126258ブラウズ

strncmp 関数は文字列比較関数です。関数の構文は "int strncmp (const char * str1, const char * str2, size_t n);" です。その機能は str1 と str2 を比較することです。

strncmp関数の使い方の詳しい説明

strncmp 関数は文字列比較関数です。文字列のサイズの比較は ASCII コード テーブル上の順序によって決まり、この順序が値でもあります。キャラクターの。その関数宣言は int strncmp (const char * str1, const char * str2, size_t n) です; この関数は、str1 と str2 を最初の n バイトまで比較することです。str1 と str2 の最初の n 文字が同じである場合、 then 0 を返します。s1 が s2 より大きい場合は 0 より大きい値を返し、s1 が s2 より小さい場合は 0 より小さい値を返します。

strncmp 構文

関数宣言

int strncmp(const char *str1, const char *str2, size_t n)

パラメータ

str1 -- 比較される最初の文字列。

str2-- 比較される 2 番目の文字列。

n -- 比較する最大文字数。

戻り値

この関数の戻り値は次のとおりです:

戻り値が

戻り値が > 0 の場合、str2 が str1 より小さいことを意味します。

戻り値 = 0 の場合、str1 が str2 に等しいことを意味します。

関数の比較

関数 strncmp は関数 strcmp に非常に似ていますが、関数はまったく同じではありません。違いは次のとおりです:

(1) strncmp 関数

# が使用されます。 s1 文字列と s2 文字列の最初の n 文字を比較します。 2 つの文字列が等しい場合、strncmp は 0 を返します。 s1 が s2 の部分文字列である場合、s1 は s2 より小さくなります。

(2) strcmp 関数

# は、2 つの文字列を比較するためにも使用されます。2 つの文字列を str1、str2

If str1==str2、return Zero;

str1 > str2 の場合は、正の数が返されます;

str1 つまり、異なる文字が現れるか「\0」が見つかるまで、2 つの文字列を左から右に 1 文字ずつ比較します (ASCII 値に従って比較します)。 [3]

(3) まとめ

両者の違いは、strncmp 関数は文字のサイズ比較を指定しており、strcmp 関数は異なる文字が出現するか「\」が出現するまで文字全体を比較することです。 0」。

アプリケーション例

例 1

#include <cstring>
#include <cstdio>
int main(){
    char *buf1="aaabbb",*buf2="bbbccc",*buf3="ccc";
    int ptr;
    ptr=strncmp(buf2,buf1,3);
    if(ptr>0)
        printf("buffer2 is greater than buffer1\n");
    else if(ptr<0)
        printf("buffer2 is less than buffer1\n");
    ptr=strncmp(buf2,buf3,3);
    if(ptr>0)
        printf("buffer2 is greater than buffer3\n");
    else if(ptr<0)
        printf("buffer2 is less than buffer3\n");
    return 0;
}

ouput:

buffer2 is greater than buffer1
buffer2 is less than buffer3

例 2

/*strncmpexample*/
#include<stdio.h>
#include<string.h>
int main()
{
char str[][5]={"R2D2","C3PO","R2A6"};
int n;
puts("Looking for R2 as tromechdroids...");
for(n=0;n<3;n++)
{
if(strncmp(str[n],"R2xx",2)==0)
{
printf("found%s\n",str[n]);
}
}
return0;
}

ouput:

Looking for R2 as tromechdroids...
foundR2D2
foundR2A6

PHP の Extension-strncmp

関数名: strncmp ()

関数: 文字列の最初の N 文字を比較

使用法:

int strncmp(stringstr1,charstr2,intlen);

説明: 文字列 str1 と str2 のサイズを比較します。str1 が str2 より小さい場合、戻り値は 348773f229ee500ff970964bcfa4d78b0 になります。 str2 と等しい場合、戻り値は = 0 です。len は、str1 と str2 の間で比較された文字数を指します。この関数の機能は、文字列 str1 と str2 の最初の len 文字を比較することです。 [5]

ヒント: この関数では大文字と小文字が区別されます。

例:

<?php
$str1="Ilikephp!";
$str2="ianfine!";
echo strncmp($str1,$str2,2);
?>

結果は: -1

関連知識の詳細については、

PHP 中国語 Web サイトをご覧ください。

以上がstrncmp関数の使い方の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。