strcmpi代码不会编译但strcmp会吗?

时间:2014-08-27 17:58:08

标签: c cstring strcmp

我有一个问题,为什么我的代码在我使用strcmpi时不会编译。我用strcmp测试了这个相同的代码并且工作正常。不知道为什么这不起作用。

这是我得到的编译错误:

gcc -std=c99 strcmpi_test.c -o strcmpi_test
strcmpi_test.c: In function 'main':
strcmpi_test.c:15: warning: implicit declaration of function 'strcmpi'
strcmpi_test.c:30:2: warning: no newline at end of file
/tmp/cceKXLcn.o: In function `main':
strcmpi_test.c:(.text+0x50): undefined reference to `strcmpi'
collect2: ld returned 1 exit status



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


int main()
{

    char name[10]; 

    char name2[10] = "bob";

    printf("what is your name : ");
    fgets(name,10,stdin);

    if(strcmpi(name,name2) == 1)
    {

        printf("name == %s name2 == %s your names are the same\n",name,name2);

    } else {

        printf("name == %s name2 == %s your names are NOT the same\n",name,name2);


    }


    return 0;

}

1 个答案:

答案 0 :(得分:1)

strcmpi不是标准的C函数。并且编译器报告它没有函数strcmpi的声明。

您可以使用循环编写一个类似的函数,并在标题toupper中标记tolower<ctype.h>