前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言strcasecmp函数和strncasecmp函数介绍和实例测试

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

原创
作者头像
IT工作者
发布2022-05-20 16:44:31
6850
发布2022-05-20 16:44:31
举报
文章被收录于专栏:程序技术知识程序技术知识

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

代码语言:javascript
复制
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的值。

代码语言:javascript
复制
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语言测试实例

代码语言:javascript
复制
#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");
    
}

四、测试结果

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档