版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sun_ashe/article/details/81506403
在Inception的mysql_check_db_existed函数中用到,对比目标实例中是否存在指定的数据库。此函数的意思为忽略大小写的比较指定两个字符串是否相等。类似函数为strncasecmp,指定比较的长度。
文档
#include <strings.h>
int
strcasecmp(const char *s1, const char *s2);
int
strncasecmp(const char *s1, const char *s2, size_t n);
strcasecmp用忽略大小写比较字符串.,通过strcasecmp函数可以指定每个字符串用于比较的字符数,strncasecmp用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异。
使用如下:
main.cpp
#include <iostream>
#include <strings.h>
using std::cout;
using std::endl;
int main() {
char* str1="aaa";
char* str2="AAA";
int i=strcasecmp(str1,str2);
cout << i << endl;
i=strncasecmp(str1,str2,1);
cout << i <<endl;
str1="BBB";
i=strcasecmp(str1,str2);
cout << i << endl;
i=strncasecmp(str1,str2,1);
cout << i <<endl;
str1="111";
i=strcasecmp(str1,str2);
cout << i << endl;
i=strncasecmp(str1,str2,1);
cout << i <<endl;
str1="a";
i=strcasecmp(str1,str2);
cout << i << endl;
i=strncasecmp(str1,str2,5);
cout << i <<endl;
return 0;
}
编译运行结果为
/Users/ashe/Desktop/github/learn_by_learn_mysqld/cmake-build-debug/learn_by_learn_mysqld
0
0
1
1
-48
-48
-97
-97
Process finished with exit code 0