strchr()函数 和 strrchr() 函数

strchr

定义于头文件 <string.h>
char *strchr( const char *str, int ch );
寻找ch(按照如同(char)ch的方式转换成char后)在str所指向的空终止字节字符串(每个字符都被看做unsigned char)中的首次出现位置。终止的空字符被认为是字符串的一部分,并且能在寻找'\0'时被找到。
若str不是指向空终止字节字符串的指针,则行为未定义。
参数
str - 指向待分析的空终止字节字符串的指针
ch - 要查找的字符
返回值
指向str找到的字符的指针,在未找到该字符时返回空指针。
示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* strchr example */
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[] = "This is a sample string";
  char * pch;
  printf ("Looking for the 's' character in \"%s\"...\n",str);
  pch=strchr(str,'s');
  while (pch!=NULL)
  {
    printf ("found at %d\n",pch-str+1);
    pch=strchr(pch+1,'s');
  }
  return 0;
}
/*Looking for the 's' character in "This is a sample string"...
found at 4
found at 7
found at 11
found at 18*/

 

strrchr 

定义于头文件 <string.h>
const char *strrchr( const char *str, int ch );
char *strrchr( char *str, int ch );
找到最后一次出现的字符ch中的字节串所指向的str.

参数
str - NULL结尾的字节串的指针来进行分析

ch - 搜索字符

返回值
str,或NULL找到的字符的指针,如果没有这样的字符被找到

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
/* strrchr example */
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[] = "This is a sample string";
  char * pch;
  pch=strrchr(str,'s');
  printf ("Last occurence of 's' found at %d \n",pch-str+1);
  return 0;
}
/*Last occurence of 's' found at 18 */

 

  

 

posted @   zxzhang  阅读(3777)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示