现在位置: 首页 > C 教程 > 正文

C 库函数 - strrchr()

C 标准库 - <string.h> C 标准库 - <string.h>

描述

C 库函数 char *strrchr(const char *str, int c) 在参数 str 所指向的字符串中搜索最后一次出现字符 c(一个无符号字符)的位置。

声明

下面是 strrchr() 函数的声明。

char *strrchr(const char *str, int c)

参数

  • str -- C 字符串。
  • c -- 要搜索的字符,通常以整数形式传递(ASCII 值),但是最终会转换回 char 形式。

返回值

strrchr() 函数从字符串的末尾开始向前搜索,直到找到指定的字符或搜索完整个字符串。如果找到字符,它将返回一个指向该字符的指针,否则返回 NULL。

实例

下面的实例演示了 strrchr() 函数的用法。

实例

#include <stdio.h> #include <string.h> int main () { int len; const char str[] = "https://www.runoob.com"; const char ch = '.'; char *ret; ret = strrchr(str, ch); printf("|%c| 之后的字符串是 - |%s|\n", ch, ret); return(0); }

让我们编译并运行上面的程序,这将产生以下结果:

|.| 之后的字符串是 - |.com|

以下实例 strrchr() 函数在字符串 "Hello, World!" 中查找字符 'o',并返回最后一个 'o' 的位置:

实例

#include <stdio.h> #include <string.h> int main() { const char *str = "Hello, World!"; char ch = 'o'; char *lastO = strrchr(str, ch); if (lastO != NULL) { printf("Last '%c' found at position: %ld\n", ch, lastO - str); } else { printf("'%c' not found in the string.\n", ch); } return 0; }

让我们编译并运行上面的程序,这将产生以下结果:

"Last 'o' found at position: 8"

'o' 最后一次出现在位置 8。如果字符 'o' 未在字符串中找到,将显示 "'o' not found in the string."。

C 标准库 - <string.h> C 标准库 - <string.h>