C标准库函数::string.h::strchr,strrchr的实现

/* strchr */
/* 该函数用来查找一个字符串中某个字符第一次出现的位置 */
/* 如果找到:返回绝对地址. 没有找到:返回NULL */
char*    /* 返回字符串第一次出现的绝对位置 */
my_strchr
(
    const char* src,    /* 被查找的字符串 */
    char ch    /* 需要查找的字符 */
 )
{
    while(*src != ch)    /* 从第一个字符开始测试, 如果不相等就返回NULL */
    {
        if(*src == '\0')
            return NULL;
        src++;    /* 指向下一个字符 */
    }
    return (char*)src;    /* 这个返回只有当第一个字符即为要查找的字符才会从这里返回 */
}

/* strrchr */
/* 该函数返回某个字符在字符串中最后一次出现的位置 */
/* 找到:返回绝对位置. 未找到:返回NULL */
char*
my_strrchr
(
    const char* src,    /* 被查找的字符串 */
    char ch    /* 要查找的字符 */
)
{
    const char* ptr;
    for(ptr = NULL;; ++src)    /* 从第一个字符开始匹配 */
    {
        if(*src == ch) /* 没找到一次重新赋值一次 */
            ptr = src;
        if(*src == '\0') /* 到达结尾 */
            return (char*)ptr;
    }

}
女孩不哭(QQ:191035066)@2012-05-29 16:51:48 @ http://www.cnblogs.com/nbsofer

你可能感兴趣的:(String)