개요
문자열 s 안에 원하는 문자 c가 있는지 뒤부터 검사하는 함수
주의할 점
-
검색하는 문자 c가 ‘\0’일 때는 s의 len번째 글짜도 ‘\0’일 수 있음을 유의해야 한다.
-
뒤에서부터 구현하는 방식. 처음 len은 s의 길이와 같다.
따라서 len == 0인 상황에서 *(s + len)이 c와 같은지는 따로 점검해줘야 한다.
코드
c
#include "libft.h"
size_t ft_strlen(const char *str);
char *ft_strrchr(const char *s, int c)
{
size_t len;
len = ft_strlen(s);
while (len > 0)
{
if (*(s + len) == (char) c)
return ((char *)s + len);
len--;
}
if (*(s + len) == (char) c)
return ((char *)s + len);
return (NULL);
}