我想做一个不区分大小写的字符串比较。最简单的方法是什么?我有以下代码执行区分大小写的操作。
#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;
}
答案 0 :(得分:4)
如果您能够承担偏离严格C
标准的偏差,则可以使用strcasecmp()
。
它是一个POSIX API。
否则,您始终可以选择将字符串转换为特定大小写(UPPER或更低),然后使用strcmp()
执行常规比较。
答案 1 :(得分:2)
您可以使用strcmpi()函数。
if(strcmpi(str1,str2)!=0)
仅适用于Windows系统。