int strncmp (const char *s1, const char *s2, size_t size) 函数 说明

7 篇文章 0 订阅

功 能: 这个函数用来比较s1和s2字符串,这个函数将返回一个值, 它的符号与第一对不同的字符的比较结果相关。 如果两个字符串相等的话,strncmp将返回0。 如果s1是s2的一个子串的话,s1小于s2。此外还有,函数 int strncmp (const char *s1, const char *s2, size_t size) 此函数与strcmp极为类似。不同之处是,strncmp函数是指定比较size个字符。也就是说,如果字符串s1与s2的前size个字符相同,函数返回值为0。
用 法: int strncmp(char *str1, char *str2, int maxlen);
说明:此函数功能即比较 字符串str1和str2的前maxlen个字符。如果前maxlen 字节完全相等,返回值就=0;在前maxlen字节比较过程中,如果出现str1[n]与str2[n]不等,则返回(str1[n]-str2[n])。

Example 1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<string.h>
#include<stdio.h>
intmain( void )
{
char *buf1= "aaabbb" ,*buf2= "bbbccc" ,*buf3= "ccc" ;
intptr;
ptr= strncmp (buf2,buf1,3);
if (ptr>0)
printf ( "buffer2isgreaterthanbuffer1\n" );
elseif(ptr<0)
printf ( "buffer2islessthanbuffer1\n" );
ptr= strncmp (buf2,buf3,3);
if (ptr>0)
printf ( "buffer2isgreaterthanbuffer3\n" );
elseif(ptr<0)
printf ( "buffer2islessthanbuffer3\n" );
return (0);
}
1
2
3
ouput:
buffer2isgreaterthanbuffer1
buffer2islessthanbuffer3

Example 2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*strncmpexample*/
#include<stdio.h>
#include<string.h>
intmain()
{
charstr[][5]={ "R2D2" , "C3PO" , "R2A6" };
intn;
puts ( "LookingforR2astromechdroids..." );
for (n=0;n<3;n++)
{
if ( strncmp (str[n], "R2xx" ,2)==0)
{
printf ( "found%s\n" ,str[n]);
}
//return0;//return位置不对哦
}
return0;
}
1
2
3
4
ouput:
LookingforR2astromechdroids...
foundR2D2
foundR2A6

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值