소개
- 문자열 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);
}