c/c++ strrchr 查找字符串最后一次出现的位置

函数简介 

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

char string[20];
char *ptr, c = 'r';
strcpy_s(string, sizeof(string), "There are two rings");
ptr = strrchr(string, c);

if (ptr)
    printf("The character [%c - %c] is at position: %s\n", c, *ptr, ptr);
else
    printf("The character was not found\n");

The character [r - r] is at position: rings

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”

char filePath[] = "D:\\soft\\file\\word.exe";
(strrchr(filePath, '\\'))[1] = 0; //是将斜杆后面的一个字符作为字符串结束符。
cout << "字符串0:" << filePath << endl;

(strrchr(filePath, '\\'))[0] = 0; //是将斜杆后面的一个字符作为字符串结束符。
cout << "字符串1:" << filePath << endl;

字符串0:D:\soft\file\
字符串1:D:\soft\file

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值