strrstr函数的功能是查找字符串1在字符串2中最后出现的位置
Linux里函数库并没有该函数,因此无聊间简单写了该函数的实现
程序如下:
#include <stdio.h>
#include <string.h>
/*strrstr函数的实现,查找字符子串src在字符串dest中最后一次出现的位置*/
char *strrstr( char *dest,char *src)
{
char *p = dest;
while(*p != '\0') //将指针指向末尾
p++;
for(p = p-1;p >= dest;p--)
{
if((*p == *src) && ((strncmp(p,src,strlen(src))) == 0))
return p;
}
return NULL;
}
//主函数测试
int main(int argc, char const *argv[])
{
char buf[] = "asdasdfggfgy";
char buff[] = "fg";
char *p = strrstr(buf,buff);
if(p != NULL)
printf("%s\n",p);
return 0;
}
Ubuntu16.04下运行结果: