错误C3861:'strcasecmp':在visual studio 2008中找不到标识符?

use*_*898 12 porting cygwin visual-studio-2008

我试图将应用程序从cygwin移植到visual studio 2008 express
但是我得到了这个错误:

error C3861: 'strcasecmp': identifier not found  
Run Code Online (Sandbox Code Playgroud)

在这种类型的代码中:

if (!strcasecmp("A0", s))  ....
Run Code Online (Sandbox Code Playgroud)

vs的替代品是什么?我在网上找不到任何东西

fan*_*ory 30

将它添加到预编译的头文件(或其他一些config.h)

#ifdef _MSC_VER 
//not #if defined(_WIN32) || defined(_WIN64) because we have strncasecmp in mingw
#define strncasecmp _strnicmp
#define strcasecmp _stricmp
#endif
Run Code Online (Sandbox Code Playgroud)


Ale*_*erg 7

寻找

int _stricmp(
   const char *string1,
   const char *string2 );
Run Code Online (Sandbox Code Playgroud)

  • @Meep strcasecmp()是由posix指定的函数,MSVC不支持该函数. (2认同)