字符串查找函数——strchr()和strrchr()~

来源:互联网 发布:淘宝正品折扣店 编辑:程序博客网 时间:2024/05/17 20:35

C语言strchr()函数:查找某字符在字符串中首次出现的位置

<上一节下一节>

C语言中文网推出辅导班啦,包括「C语言辅导班、C++辅导班、算法/数据结构辅导班」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践 + 永久学习。QQ在线,随时响应!

头文件:#include <string.h>

strchr() 用来查找某字符在字符串中首次出现的位置,其原型为:
    char * strchr (const char *str, int c);

【参数】str 为要查找的字符串,c 为要查找的字符。

strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回。

注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个字符也可以被定位。

【返回值】如果找到指定的字符则返回该字符所在地址,否则返回 NULL。

返回的地址是字符串在内存中随机分配的地址再加上你所搜索的字符在字符串位置。设字符在字符串中首次出现的位置为 i,那么返回的地址可以理解为 str + i。

提示:如果希望查找某字符在字符串中最后一次出现的位置,可以使用 strrchr() 函数。

【实例】查找字符5首次出现的位置。
纯文本复制
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. int main(){
  5.     char *s = "0123456789012345678901234567890";
  6.     char *p;
  7.     p = strchr(s, '5');
  8. printf("%ld\n", s);
  9.     printf("%ld\n", p);
  10. system("pause");
  11.     return 0;
  12. }
输出结果:
12016464

12016469

==================这个结果也就说明了第一次出现这个字符是在第五个的位置~~

0 0