C语言中strchr和strrchr函数及用法
如果需要对字符串中的单个字符进行查找,那么应该使用 strchr 或 strrchr 函数。
char *strchr(const char *s, int c);
它表示在字符串 s 中查找字符 c,返回字符 c 第一次在字符串 s 中出现的位置,如果未找到字符 c,则返回 NULL。
strchr 函数在字符串 s 中从前到后(或者称为从左到右)查找字符 c,找到字符 c 第一次出现的位置就返回,返回值指向这个位置,如果找不到字符 c 就返回 NULL。
char *strrchr(const char *s, int c);
与 strchr 函数一样,它同样表示在字符串 s 中查找字符 c,返回字符 c 第一次在字符串 s 中出现的位置,如果未找到字符 c,则返回 NULL。
但两者唯一不同的是,strrchr 函数在字符串 s 中是从后到前(或者称为从右向左)查找字符 c,找到字符 c 第一次出现的位置就返回,返回值指向这个位置。下面的示例代码演示了两者之间的区别:
int main(void)
{char str[] = "I welcome any ideas from readers, of course.";char *lc = strchr(str, 'o');printf("strchr: %s\n", lc);char *rc = strrchr(str, 'o');printf("strrchr: %s\n", rc);return 0;
}
对于上面的示例代码,strchr 函数是按照从前到后的顺序进行查找,所以得到的结果为“ome any ideas from readers,of course.”; 而 strrchr 函数则相反,它按照从后到前的顺序进行查找,所以得到的结果为“ourse.”。
示例代码运行结果为:
strchr: ome any ideas from readers, of course.
strrchr: ourse.
最后还需要注意的是,为什么函数的“c”参数是 int 类型,而不是“char”类型呢?
这里用的是字符的 ASCII 码(因为每个字符都对应着一个 ASCII 码),这样在传值的时候既可以传“char”类型的值,又可以传“int”类型的值(0~127)。
C语言中strchr和strrchr函数及用法相关推荐
- C语言中itoa和atoi函数的用法
1.itoa函数的用法 (1) 函数说明 itoa是广泛应用的非标准C语言扩展函数.由于它不是标准C语言函数,所以不能在所有的编译器中使用.但是,大多数的编译器(如Windows上 的)通常在< ...
- C 语言中 char[] 的操作函数
C语言中char[]的操作函数 1.赋值操作 在C语言中,char型数组是不可以直接赋值的.例如在如下的代码中,会得到错误: char c1[20] = "women"; char ...
- c语言中val是什么函数,val(val是什么意思)
有这么一个C语言程序 : int i; long val; for(i=0;i 在C语言中Val是一个将由数字符号(包括正负号.小数点)组成的字符型数据转换成相应的数值型数据的函数,语法格式是Val( ...
- c语言中fmod()函数和log10()函数用法
C语言中fmod函数的功能是x/y的求余运算,适用于double ,float,long double,如果y=0的话,那么返回 值得一提的是%,'%'同样是取余,但是% 适用于整数取余,%是整数的取 ...
- c语言中gets函数可以输入空格吗_C语言中printf和gets函数的实用技巧
Printf函数输出的格式与方法: 想要一起学习交流,或者系统学习c++的可以加553014383,邀请码:悟空,裙内有众多资源及解答老师. 1.输出数字的时候存在宽度和精度,那对于数字而言,输出数字 ...
- C语言中fputc和fgetc函数用法
C语言中文件的读写函数之 fputc.fgetc 首先,我们要知道fputs和fgetc这两个函数是包含在标准库函数中的函数,换句话说,就是封装在标准函数中的两个函数.其中这两个函数都是每次只能输入或 ...
- C语言中#define中的一些特殊用法
转载自:http://blog.sina.com.cn/s/blog_4a4365030100edq7.html define是C语言中的预处理命令,它用于宏定义,可以提高源代码的可读性,为编程提供方 ...
- 关于strrchr函数的用法
在写dll的时候,遇到了麻烦,确切地说是当时没有记住很多的函数,所以才有了这个麻烦,就是我在 加载dll的时候想得到这个dll的名称等,但是我只能得到完整的路径,不能只得到文件名,载msdn里 面翻了 ...
- c语言switch case缩进,C语言中的switchnbsp;casenbsp;语句的用法详解
本文就几个实例来说明Switch case 语句的用法. 说是C语言中的Switch case,其实和html+javascript中的Switch case语法是基本一样的哦. 问题: 有这么一个C ...
最新文章
- halcon 定位_HALCON高级篇:单个相机的尺寸测量
- 程序员利用Python破解老婆撤回的消息,这样竟然还有老婆?
- 威海二职工业机器人专业_现在各大专开设的工业机器人专业前景如何?
- 希尔伯特旅馆实验(文末送书)
- hive避免MR的情况
- 信息学奥赛一本通(2068:【例2.6】鸡兔同笼)
- android中打开pdf,在Android应用程序中打开PDF
- TensorFlow2实现空间自适应归一化(Spatial Adaptive Normalization, SPADE)
- 【转】LPCTSTR,LPWSTR, PTSTR, LPTSTR区别
- 学习笔记:SSH端口转发的三种方式
- 读书 | 少有人走的路心智成熟的旅程读后感
- python 情感分析实例_使用python+机器学习方法进行情感分析(详细步骤)
- 淘宝店铺怎么发逛逛?发逛逛有什么要求?
- 创业之路 - 魏杰:下一个 10 年,将造就一批新富翁
- vue3的pdf文件下载
- linux下常用拷贝命令
- 面对物联网安全隐患高墙,熵核科技如何实现突围
- 什么是三层网络架构,接入交换机、汇聚交换机和核心交换机分别又是什么
- wordpress二次元动漫主题模板kanmanman
- matlab生成几百个节点的网络拓扑图,MATLAB-绘制网络拓扑结构