열렬히.뛰기

ft_strchr

école 42 > libft > ft_strchr

소개

  • 문자열 s에서 문자 c가 있는 부분을 찾아서, 해당 포인터를 반환하는 문제

조심해야 할 파트

  • s의 길이보다 + 1을 해줘야 한다.
  • man에서 terminating null도 포함하라고 나와 있기 때문이다.

즉, 반복문으로 문자열을 돌리면서 문자가 나오면 해당 부분의 주소를 반환하면 된다.

단 반복문의 조건을 지정할 때, s의 길이 + 1 을 해줘야 한다는 것이다.

코드

c
#include "libft.h"

size_t	ft_strlen(const char *str);

char	*ft_strchr(const char *s, int c)
{
	size_t	i;
	size_t	len;

	len = ft_strlen(s);
	i = 0;
	while (i < len + 1)
	{
		if (*(s + i) == (char) c)
			return ((char *)(s + i));
		i++;
	}
	return (NULL);
}