函数strcasecmp

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

猜你喜欢

转载自blog.csdn.net/sun_ashe/article/details/81506403