如何在C语言中实现不区分大小写的字符串比较

avatar
作者
筋斗云
阅读量:0

在C语言中,要实现不区分大小写的字符串比较,可以使用标准库函数strcasecmp()(适用于Linux和macOS)或_stricmp()(适用于Windows)

#include<stdio.h> #include<string.h> #include <ctype.h>  int strcasecmp(const char *s1, const char *s2) {     while (*s1 && *s2) {         if (tolower(*s1) != tolower(*s2)) {             return (tolower(*s1) - tolower(*s2));         }         s1++;         s2++;     }     return (tolower(*s1) - tolower(*s2)); }  int main() {     char str1[] = "Hello World";     char str2[] = "hello world";      int result = strcasecmp(str1, str2);      if (result == 0) {         printf("Strings are equal (ignoring case).\n");     } else {         printf("Strings are not equal.\n");     }      return 0; } 

这个示例中的strcasecmp()函数将两个字符串逐字符进行比较,同时使用tolower()函数将每个字符转换为小写。如果在比较过程中发现任何不相等的字符,函数将返回一个非零值,表示字符串不相等。如果函数返回0,则表示字符串相等(忽略大小写)。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!