分享

Linux下不区分大小写的strstr函数

 quasiceo 2013-09-09
2012-03-07 18:26 1385人阅读 评论(0) 收藏 举报
Linux下没有现成的 不区分大小写的strstr函数,但是有 strncasecmp 函数,用于不区分大小写的字符串比较,利用它,我们可以很简单地实现不区分大小写的strstr函数

strncasecmp 函数原型:

int strncasecmp(const char *s1, const char *s2, size_t n);

strncasecmp 比较 s1 和 s2 的前 n 个字符,不区分大小写,返回值如下:

负整数: 如果 s1 < s2

0: 如果 s1 == s2

正整数: 如果 s1 > s2

我们的 不区分大小写的strstr函数 实现如下:

    #include <strings.h>

    const char* strstri(const char* str, const char* subStr)
    {
        int len = strlen(subStr);
        if(len == 0)
        {
            return NULL;
        }

        while(*str)
        {
            if(strncasecmp(str, subStr, len) == 0)
            {
                return str;
            }
            ++str;
        }
        return NULL;
    }

分享到:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多