strncmp函数用法详解


本文摘自PHP中文网,作者藏色散人,侵删。

strncmp函数为字符串比较函数,其函数语法为“int strncmp ( const char * str1, const char * str2, size_t n );”,功能是把str1和str2进行比较。

strncmp函数为字符串比较函数,字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。其函数声明为int strncmp ( const char * str1, const char * str2, size_t n );功能是把 str1 和 str2 进行比较,最多比较前 n 个字节,若str1与str2的前n个字符相同,则返回0;若s1大于s2,则返回大于0的值;若s1 小于s2,则返回小于0的值。

strncmp语法

函数声明

1

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

参数

str1-- 要进行比较的第一个字符串。

str2-- 要进行比较的第二个字符串。

n-- 要比较的最大字符数。

返回值

该函数返回值如下:

如果返回值 < 0,则表示 str1 小于 str2。

如果返回值 > 0,则表示 str2 小于 str1。

如果返回值 = 0,则表示 str1 等于 str2。

功能比较

函数 strncmp 与函数strcmp极为类似,但功能不完全相同,区别如下:

(1)strncmp函数

用来比较s1和s2字符串的前n个字符。如果两个字符串相等的话,strncmp将返回0。如果s1是s2的一个子串的话,s1小于s2。

(2)strcmp函数

同样用于比较两个字符串 ,设这两个字符串为str1,str2

若str1==str2,则返回零;

若str1 > str2,则返回正数;

若str1< str2,则返回负数。

即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇"\0"为止。 [3]

(3)总结

两者不同之处是,strncmp函数是指定比较size个字符,strcmp函数比较整个字符,直到出现不同的字符或遇"\0"为止。

应用示例

示例1

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

#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:

1

2

buffer2 is greater than buffer1

buffer2 is less than buffer3

示例 2

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

/*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:

1

2

3

Looking for R2 as tromechdroids...

foundR2D2

foundR2A6

拓展延伸-PHP中strncmp

阅读剩余部分

相关阅读 >>

strncmp函数用法详解

strncmp函数用法是什么

更多相关阅读请进入《strncmp》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...