int strncasecmp(const char *s1, const char *s2, size

    xiaoxiao2021-03-25  79

    函数定义:int strncasecmp(const char *s1, const char *s2, size_t n); 函数说明:strncasecmp()用来比较参数s1 和s2 字符串前n个字符,比较时会自动忽略大小写的差异。 返回值:若参数s1 和s2 字符串相同则返回0。s1 若大于s2 则返回大于0 的值,s1 若小于s2 则返回小于0 的值。 注:为了用系统的strncasecmp函数进行验证,将自己实现的strncasecmp重命名为src_strncasecmp

    #include <string> #include <iostream> using namespace std; int src_strncasecmp(const char *s1, const char *s2, size_t n) { int c1 = 0, c2 = 0; while(n--) { c1 = *s1++; c2 = *s2++; if(!c1 || !c2) break; if(c1>='A'&&c1<='Z') c1 += 'a' - 'A'; if(c2>='A'&&c2<='Z') c2 += 'a' - 'A'; if(c1!=c2) break; } return c1-c2; } int main(int argc,char* argv) { char *a = "aBcDeF"; char *b = "AbC"; cout << "system function:"; if(!strncasecmp(a, b, 4)) cout << a << " = " << b << endl; else cout << a << " != " << b << endl; cout << "own function:"; if(!src_strncasecmp(a, b, 4)) cout << a << " = " << b << endl; else cout << a << " != " << b << endl; return 0; } 用多个字符串进行测试,自定义的 strncasecmp函数和系统的strncasecmp函数输出相同,说明自定义的strncasecmp函数是正确的。

    转载请注明原文地址: https://ju.6miu.com/read-14353.html

    最新回复(0)