【转】 strrchr()函数---C语言

转自:https://baike.baidu.com/item/strrchr/4621437?fr=aladdin
 
函数名称: strrchr
函数原型:char *strrchr(const char *str, char c);
所属库: string.h
函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回这个位置的地址。如果未能找到指定字符,那么函数将返回NULL。使用这个地址返回从最后一个字符c到str末尾的字符串。
相关函数: strchr

例子

#include <string.h>
#include <stdio.h>
int main(void)
{
    char string[20];
    char *ptr, c = 'r';
    strcpy(string, "There are two rings");
    ptr = strrchr(string, c);
    if (ptr)
        printf("The character %c is at position: %s
", c, ptr);
    else
        printf("The character was not found
");
    return 0;
}
strrchr返回的指针应当指向"rings"里的'r',而不是“There”或"are"里的'r'。
运行结果是:The character r is at position:rings
 
从文件路径中提取文件名:
 char fn[100];
 char fp[500] = "/host/HY/linux/GTK/HTYPaint/bear.jpg";
 char *ptr = strrchr(fp, '/');
 sprintf(fn,"%s",ptr+1);
运行结果:fn="bear.jpg"
 
原文地址:https://www.cnblogs.com/eleclsc/p/7372074.html