云服务器免费试用

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

服务器知识 0 1263

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

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

#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,则表示字符串相等(忽略大小写)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942@qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在C语言中实现不区分大小写的字符串比较
本文地址: https://solustack.com/171385.html

相关推荐:

网友留言:

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。