2021-03-08 C语言strcasecmp函数和strncasecmp函数介绍和实例测试

     C语言strcasecmp函数和strncasecmp函数介绍和实例测试

 

一、 strcasecmp()用来比较参数s1和s2字符串,比较时会自动忽略大小写的差异。若参数s1和s2字符串相同则返回0。s1长度大于s2长度则返回大于0 的值,s1 长度若小于s2 长度则返回小于0的值。

unsigned char strcasecmp(const char *s1, const char *s2)
{
    unsigned char c1 , c2;
    do{
        c1 = tolower(*s1++);//These functions convert lowercase letters to uppercase, and vice versa.
        c2 = tolower(*s2++);
    }while(c1 == c2 && c1 != 0);

    return c1 - c2;
}

二、strncasecmp()用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异。若参数s1和s2字符串相同则返回0 s1若大于s2则返回大于0的值 s1若小于s2则返回小于0的值。

unsigned char strncasecmp(const char *s1, const char *s2, int n)  
{  
    unsigned char c1, c2;  
    do
    {      
       c1 = tolower(*s1++);      
       c2 = tolower(*s2++);  
    } while((--n > 0) && c1 == c2 && c1 != 0);  

   return c1 - c2;  
}  

三、C语言测试实例

#include <string.h>
#include<stdio.h>

void main()
{
	char *a="abcdefg";
    char *b="aBCDEFG";
	
	char *c="aBcDet";
    char *d="AbCdEf";
    if(!strcasecmp(a,b))
      printf("%s=%s\n",a,b);
    else
	  printf("%s!=%s\n",a,b);	
  
    if(!strcasecmp(c,d))
      printf("%s=%s\n",c,d);
    else
	  printf("%s!=%s\n",c,d);	
  
  
    if(!strncasecmp("android","androido",7))
        printf("android=androido 7\n");
    else
        printf("android!=androido 7\n");
	
	
    if(!strncasecmp("android","androido",8))
        printf("android=androido 8\n");
    else
        printf("android!=androido 8\n");
	
	if(!strncasecmp("androidO","androido",8))
        printf("androidO=androido 8\n");
    else
        printf("androidO!=androido 8\n");
	
}

四、测试结果

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值