C语言忽略大小写比较strcasecmp函数教程
在
strcasecmp 函数与 strcmp 函数的唯一区别就是 strcmp 函数比较字符串区分大小写,而 strcasecmp 函数比较字符串不区分大小写。
同样,使用 strcasecmp 函数比较字符串时,不是比较字符串的长度,而是比较字符串的
strcasecmp函数详解
语法
int strcasecmp(const char *str1, const char *str2);
参数
参数
描述
str1
要进行比较的第一个字符串。
str2
要进行比较的第二个字符串。
返回值
若参数 s1 和 s2 字符串相同则返回 0。s1 大于 s2 则返回大于 0 的值,s1 若小于 s2 则返回小于 0 的值。
技术细节
使用 strcasecmp 函数,需要引入 string.h 头文件。
案例
C语言字符串忽略大小写比较
使用 strcasecmp() 函数,实现字符串的忽略大小写比较
#include
#include
int main(){
printf("嗨客网(www.haicoder.net)\n\n");
char str1[10] = "haiCoder";
char str2[10] = "HaiCoder";
int retCaseCmp = strcasecmp(str1, str2);
printf("retCaseCmp = %d\n", retCaseCmp);
return 0;
}
程序运行后,控制台输出如下:
我们首先定义了一个
我们可以看到,两个字符串的内容完全相同,但大小写不同,此时返回了 0,因为,strcasecmp 比较字符串是不区分大小写的。现在,我们修改字符串,使他们不相等,修改如下:
#include
#include
int main(){
printf("嗨客网(www.haicoder.net)\n\n");
char str1[10] = "aabc";
char str2[10] = "aaabbbb";
int retCaseCmp = strcasecmp(str1, str2);
printf("retCaseCmp = %d\n", retCaseCmp);
return 0;
}
程序运行后,控制台输出如下:
这次,我们修改了字符串 str1 和 str2,我们看到,字符串 str1 的长度小于字符串 str2,但字符串 str1 和字符串 str2 的前两个字符相等,但 str1 的第三个字符大于 str2 的第三个字符。
因此,最终返回了 1,即字符串 str1 大于字符串 str2,所以,使用 strcasecmp 比较字符串时,不是比较字符串的长度,而是挨个比较字符串中的字符。
C语言字符串忽略大小写比较strcasecmp函数总结
strcasecmp 函数与 strcmp 函数的唯一区别就是 strcmp 函数比较字符串区分大小写,而 strcasecmp 函数比较字符串不区分大小写。
同样,使用 strcasecmp 函数比较字符串时,不是比较字符串的长度,而是比较字符串的字符大小。