C函数库中的strrchr实现

来源:互联网 发布:心机婊 知乎 编辑:程序博客网 时间:2024/05/22 12:50
/**copyright@nciaebupt 转载请注明出处*原型:extern char *strrchr(char *s,char c);*用法:#include <string.h>*功能:查找字符串s中最后一次出现字符c的位置*说明:返回最后一次出现c的位置的指针,如果s中不存在c则返回NULL。*使用C函数库中的strrchr*/#include <cstdio>#include <cstring>int main(int args,char ** argv){    char str[] = "This is a sample string";    char *pch;    pch = strrchr(str,'s');    printf("The last occurence of 's' found at : %d",pch - str + 1);    getchar();    return 0;}/**copyright@nciaebupt 转载请注明出处*原型:char *strrchr(const char *s,int ch);*用法:#include <string.h>*功能:查找字符串s中最后一次出现字符c的位置*说明:返回最后一次出现c的位置的指针,如果s中不存在c则返回NULL。*自己实现strrchr*/#include <cstdio>char * _strrchr(const char * str,int ch){    char * start = (char *)str;    while(*str++)/*get the end of the string*/        ;    while(--str != start && *str != (char)ch)        ;    if(*str == (char)ch)        return((char *)str);    return NULL;}int main(int args,char ** argv){    char str[] = "This is a sample string";    char *pch;    pch = _strrchr(str,'s');    printf("The last occurence of 's' found at : %d",pch - str + 1);    getchar();    return 0;}