C语言 strrchr()函数

C语言strrchr()函数使用攻略

1. 介绍

C语言中的strrchr()函数用于查找字符串中最后一次出现某个字符的位置,即在一个字符串中从后向前查找第一次出现指定字符的位置。strrchr()函数在头文件string.h中声明,函数原型为:

char *strrchr(const char *s, int c);

2. 参数

strrchr()函数的参数解释如下:

  • s:要查找的字符串。
  • c:要查找的字符。

3. 返回值

  • 若指定的字符出现在字符串中,则函数返回指向最后一次出现该字符的指针;
  • 若未能找到指定字符,函数返回NULL指针。

4. 示例

示例1

#include <stdio.h>
#include <string.h>

int main () {
   const char str[] = "http://www.baidu.com";
   const char ch = '.';
   char *ret;

   ret = strrchr(str, ch);

   printf("String after last occurrence of '.' is : %s\n", ret);

   return(0);
}

输出结果为:

String after last occurrence of '.' is : .com

在上面的例子中,我们在字符串"http://www.baidu.com"中查找字符'.',strrchr()函数倒序遍历该字符串,返回最后一次出现'.'的位置,即指向".com"字符串的指针。

示例2

#include <stdio.h>
#include <string.h>

int main () {
   const char str[] = "hello world";
   const char ch = 'a';
   char *ret;

   ret = strrchr(str, ch);

   printf("String after last occurrence of 'a' is : %s\n", ret);

   return(0);
}

输出结果为:

String after last occurrence of 'a' is : (null)

在上面的例子中,我们在字符串"hello world"中查找字符'a',由于该字符串中未出现字符'a',因此strrchr()函数返回NULL指针。

5. 总结

通过上面两个示例,我们可以清楚地了解到strrchr()函数的用法。总之,该函数非常实用,经常被用于字符搜索和字符串处理等方面,特别是在需要操作文件路径、URL等相关字符串时,使用strrchr()函数可以方便地获取某个特定字符或字符串在该路径中的位置。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言 strrchr()函数 - Python技术站

(0)
上一篇 2023年5月9日
下一篇 2023年5月9日

相关文章

  • C语言实现点菜系统

    C语言实现点菜系统 本攻略将介绍如何使用C语言实现一个简单的点菜系统。在这个系统中,顾客可以浏览菜单,选择自己的菜品并计算价格。系统则会输出选择的菜品及总价。 基本思路 定义菜单。菜单的定义可以采用数组的方式实现,每个元素代表一道菜品,包括名称和价格。 展示菜单。通过循环遍历数组,输出所有菜品名称及价格。 用户选择菜品。通过让用户输入菜品的编号,实现选择菜品…

    C 2023年5月23日
    00
  • C++详细讲解互斥量与lock_guard类模板及死锁

    C++详细讲解互斥量与lock_guard类模板及死锁攻略 什么是互斥量? 互斥量(Mutex)是一种基本的同步原语,用于保护共享资源的访问并防止竞争条件。它允许多个线程共享同一个互斥量变量,并且同一时间只有一个线程能够拥有此变量,其他线程在等待时被阻塞。当一个线程拥有互斥量时,它可以访问被保护的资源,当它释放互斥量时,其他线程可以获取互斥量并访问资源。 互…

    C 2023年5月23日
    00
  • Win11C盘空间不足怎么扩容?Win11给C盘扩容的方法

    Win11C盘空间不足怎么扩容?Win11给C盘扩容的方法,步骤如下: 操作前提 在进行操作之前,需要保证以下内容: 有一个可用的U盘或移动硬盘。 下载Windows系统的安装文件。 准备好备份重要数据的位置。 注:扩容C盘过程会涉及到更改系统分区的操作,有一定风险,如有不熟悉操作的风险,请在操作前进行备份数据以备万一。 步骤一:备份数据 在进行分区扩容之前…

    C 2023年5月23日
    00
  • C语言 存储类详解及示例代码

    “C语言 存储类详解及示例代码”是一篇介绍C语言中存储类的文章。本文讲解了C语言中的四种存储类(自动存储类、静态存储类、寄存器存储类、外部存储类)的特点、使用方法以及示例代码。 自动存储类 自动存储类是指在函数或代码块内定义的变量。它们通常在代码块内使用,并且在代码块外是不可见的。自动存储类变量的值在函数或代码块的开始处自动初始化为随机值。例如,在以下代码中…

    C 2023年5月24日
    00
  • C++成员函数如何当作回调函数同时传递this指针

    要将一个C++对象的成员函数作为回调函数并传递对象的this指针,需要使用函数对象和函数指针的技巧。下面分步骤介绍: 1. 定义函数对象 首先定义一个函数对象类,这个类中定义了一个成员函数指针和一个指向对象的指针。这个类将被用于封装成员函数以便传递给其他函数。 class Foo { public: typedef void (Foo::*Callback)…

    C 2023年5月23日
    00
  • C++ 程序流程结构详解

    C++ 程序流程结构详解 C++ 是一种面向对象的高级程序设计语言,其程序流程结构包括顺序结构、选择结构和循环结构。 顺序结构 顺序结构就是按照代码的先后顺序依次执行,没有任何的判断和跳转语句。 示例: #include <iostream> using namespace std; int main() { int a = 1, b = 2, …

    C 2023年5月23日
    00
  • C++消息队列(定义,结构,如何创建,发送与接收)

    下面是C++消息队列的完整攻略。 定义 C++消息队列是一种多线程之间通讯的方式,其实现了线程之间的异步通信机制。消息队列基于先进先出的原则,消息发送者将消息依次放入消息队列的尾部,消息接收者从队列的头部依次取出消息进行处理。 结构 消息队列的结构一般分为三个部分: 队列存储空间:为消息存储提供空间。 发送者:将消息放入队列中。 接收者:从队列中取出消息进行…

    C 2023年5月23日
    00
  • windows无法访问指定设备路径或文件详细解决方案

    Windows无法访问指定设备路径或文件详细解决方案 在使用Windows电脑时,我们有时可能会遇到“Windows无法访问指定设备路径或文件”这样的错误提示,这通常是由于一些权限或路径错误引起的。本文将介绍一些可行的解决方案。 方案一:检查文件或路径权限 这种错误通常是由于您缺少对文件或路径的访问权限导致的,因此您需要检查并更改相关权限设置,如下所示: 右…

    C 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部