Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何进行不区分大小写的字符串比较?_C_String_String Comparison_Case Insensitive_Strcmp - Fatal编程技术网

C 如何进行不区分大小写的字符串比较?

C 如何进行不区分大小写的字符串比较?,c,string,string-comparison,case-insensitive,strcmp,C,String,String Comparison,Case Insensitive,Strcmp,我想进行不区分大小写的字符串比较。实现这一点最简单的方法是什么?我有下面的代码,它执行区分大小写的操作 #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { char *str1 = "String"; char *str2 = "STRING"; if (strncmp(str1, str2, 10

我想进行不区分大小写的字符串比较。实现这一点最简单的方法是什么?我有下面的代码,它执行区分大小写的操作

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
    char *str1 = "String";
    char *str2 = "STRING";

    if (strncmp(str1, str2, 100) != 0)
    {
        printf("=(");
        exit(EXIT_FAILURE);
    }

    return 0;
}
#包括
#包括
#包括
int main(int argc,char*argv[])
{
char*str1=“字符串”;
char*str2=“字符串”;
如果(strncmp(str1,str2,100)!=0)
{
printf(“=”);
退出(退出失败);
}
返回0;
}

如果你能负担得起稍微偏离严格的
C
标准,你可以利用。 这是一个POSIXAPI

否则,您始终可以选择将字符串转换为特定大小写(大写或小写),然后使用执行正常比较。

您可以使用strcmpi()函数

if(strcmpi(str1,str2)!=0)

仅适用于Windows系统。

先转换,然后比较你的意思是
strncasecmp
?@akishuihkonen对你来说,你(几乎)总是有长度分隔的版本。无论如何,我喜欢的手册页都涵盖了这两个版本。我想。:-)你的意思是链接..@wedapash,我的错。是的,你说得对。(抱歉,编辑期已结束):-)对不起,这不是windows特有的吗?man
strcmpi
-->没有手动输入strcmpi@AkiSuihkonen需要检查。另外,您可以提及包含
Shlwapi.h