strchr()函数的详解与实现

一)strchr()函数的详解

原型:extern char *strchr(const char *s,char c);  

头文件:#include <string.h>   
功能:查找字符串s中首次出现字符c的位置

说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。

使用实例和实现算法:

#include <stdio.h>

char *strchr(const char *s, const char ch)
{
 	 if (NULL == s)
		 return NULL;	 
	 
	 const char *pSrc = s;
	 while ('\0' != *pSrc)
	 {
	  	   if (*pSrc == ch)
	  	   {
			   return (char *)pSrc;
		   }		   
	  	   ++ pSrc;
	 }	 
	 return NULL;
} 

void main()
{
	char *str = "0123456789";
	printf("%s\n",strchr(str,'t'));
}
说明:要注意该函数的返回值,以及形式参数的具体类型。

在C语言中,strchr()是一个预定义的函数,用于查找字符串中字符的出现。它存在于cstring头文件中。函数的语法是char *strchr(const char *str, int c),其中str是给定的字符串,c是需要查找的字符。函数的返回值是指向第一个匹配项的指针。如果没有找到匹配项,函数返回NULL值。strchr()函数还可以用于检查字符串中字符的存在。如果函数返回的指针为空,则表明字符串不包含该字符;否则,字符串包含该字符。下面是一个使用strchr()函数的例子: ```c char str[] = "This is a string"; char *ptr = strchr(str, 'a'); if (ptr != NULL) { printf("Character 'a' found at position %d\n", ptr - str); } else { printf("Character 'a' not found\n"); } ``` 这个例子中,我们在给定的字符串中查找字符'a'的第一个出现。如果找到了匹配项,则打印出该字符在字符串中的位置;否则,打印出字符未找到的消息。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [C字符串函数对应的C++ string操作详解](https://download.csdn.net/download/weixin_38727694/13740204)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [C/C++编程笔记:C++中的strchr()函数及其应用](https://blog.csdn.net/qq_42366672/article/details/114272174)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值