【C】库函数之strchr

Locate first occurrence of character in string

# include <string.h>
char * strchr (const char * str, int character);

  Returns a pointer to the first occurrence of character in the C string str.

  上述内容是C++官网对strchr函数的介绍,可以看出strchr函数返回要查找字符第一次出现的位置,如果没有查找成功,则返回空指针

  接下来给出实现strchr函数的源代码:

#define _CRT_SECURE_NO_WARNINGS 1

/*
* Copyright (c) 2018, code farmer from sust
* All rights reserved.
*
* 文件名称:MyStrchr.c
* 功能:在源字符串中查找某个字符
*
* 当前版本:V1.0
* 作者:sustzc
* 完成日期:2018年4月22日10:40:34
*/

# include <stdio.h>
# include <assert.h>

/*
*	函数名称:MyStrchr
*
*	函数功能:在源字符串中查找某个字符的位置,
*             若查找成功则返回要查找字符第一次出现的位置,反之则返回NULL。
*
*	入口参数:src, ch
*
*	出口参数:NULL or (char *)src
*
*	返回类型:char *
*/

char * MyStrchr(const char * src, int ch)
{
	assert(NULL != src);

	while (('\0' != *src) && (((char)ch) != *src))
	{
		src++;
	}

	if (((char)ch) == *src)
	{
		return (char *)src;
	}
	else
	{
		return NULL;
	}
}

int main(void)
{
	char * str = "abcddd";
	char ch = 0;
	char * ret = NULL;

	printf("str: %s\n", str);
	printf("input character:\n");
	assert(1 == scanf("%c", &ch));

	ret = MyStrchr(str, ch);

	if (NULL != ret)
	{
		printf("找到了字符%c,其在源字符串中的内容为: %s\n", ch, ret);
	}
	else
	{
		printf("没找到字符%c\n", ch);
	}

	return 0;
}

输出结果


猜你喜欢

转载自blog.csdn.net/sustzc/article/details/80237831
今日推荐