strchr, strrchr 함수 구현하기

윤효준·2024년 7월 29일
0

42 Libft 복습

목록 보기
14/28

strchr, strrchr 함수의 manual은 다음과 같다!

Synopsis

#include <string.h>

char	*strchr(const char *s, int c);
char	*strrchr(const char *s, int c);

Description

strchr

  • strchr 함수는 문자열 s에서 c(char 타입으로 변환됨)의 첫 번째 발생 위치를 찾는다.

  • 종료 NULL 문자 또한 문자열의 일부로 여겨지며 그렇기에 c가 '\0'이면 함수는 종료 NULL 문자의 위치를 반환한다.

strrchr

  • strrstr 함수는 문자열 s에서 c의 마지막 발생 위치를 찾는다는 것을 제외하고는 동일하다.

Return Values

  • strstr, strrstr 함수는 위치한 문자의 포인터를 반환하거나 문자가 존재하지 않으면 NULL을 반환한다.

구현

char	*ft_strchr(const char *s, int c)
{
	char	check;

	check = (char) c;
	while (*s != '\0')
	{
		if (*s == check)
			return ((char *) s);
		s++;
	}
	if (check == '\0')
		return ((char *) s);
	return (NULL);
}

char	*ft_strrchr(const char *s, int c)
{
	char		check;
    const char	*last;

	last = NULL;
	check = (char) c;
	while (*s != '\0')
	{
		if (*s == check)
			last = s;
		s++;
	}
	if (check == '\0')
		return ((char *) s);
	return ((char *) last);
}
profile
작은 문제를 하나하나 해결하며, 누군가의 하루에 선물이 되는 코드를 작성해 갑니다.

0개의 댓글