C语言中不区分大小写的字符串比较

C语言中不区分大小写的字符串比较,c,string,compare,C,String,Compare,我试图比较两个字符串,看看它们是否相同,不管大小写。我发现了一些函数。strcmp()是区分大小写的,但是像stricmp()这样的其他函数在C中不存在,strcasecmp()似乎也不起作用。有人能推荐一个C语言的函数来实现这一点吗?int iequals(const char*a,const char*b){ int iequals(const char* a, const char* b){ unsigned int size1 = strlen(a); if (strle

我试图比较两个字符串,看看它们是否相同,不管大小写。我发现了一些函数。strcmp()是区分大小写的,但是像stricmp()这样的其他函数在C中不存在,strcasecmp()似乎也不起作用。有人能推荐一个C语言的函数来实现这一点吗?

int iequals(const char*a,const char*b){
int iequals(const char* a, const char* b){
    unsigned int size1 = strlen(a);
    if (strlen(b) != size1)
        return 0;
    for (unsigned int i = 0; i < size1; i++)
        if (tolower(a[i]) != tolower(b[i]))
            return 0;
    return 1;
}
无符号整数size1=strlen(a); 如果(strlen(b)!=尺寸1) 返回0; for(无符号整数i=0;i
您是否尝试过
strncmp()?我相信这是区分大小写的,不是吗?谢谢Markus,我检查了一下,但没有看到一个实现:@anatolyg:Thank you:)sizeof不返回字符串的长度。但是,为什么要重新发明wheel@LưuVĩnhPhúc:答案已经编辑好了。现在使用
strlen()
计算字符串的大小。我想扩展这个示例@德米特里:干得好:)。我应该在我的职责中解释这么多。