strrchr() 函数(在php中)查找字符在指定字符串中从左面开始的最后一次出现的位置,如果成功,返回该字符以及其后面的字符,如果失败,则返回 NULL。与之相对应的是strstr()函数,它查找字符串中首次出现指定字符以及其后面的字符。
函数简介
函数名称: strrchr
函数原型:char *strrchr(const char *str, char c);
所属库: string.h
函数功能:查找一个字符c在另一个字符串str中末次出现的位置(也就是从str的右侧开始查找字符c首次出现的位置),并返回这个位置的地址。如果未能找到指定字符,那么函数将返回NULL。使用这个地址返回从最后一个字符c到str末尾的字符串。
相关函数: strchr
例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#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\n" , c, ptr);
else
printf ( "The character was not found\n" );
return 0;
}
|
strrchr返回的指针应当指向"rings"里的'r',而不是“There”或"are"里的'r'。
运行结果是:The character r is at position:rings
1
2
3
4
5
6
|
从文件路径中提取文件名:
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"
|