열렬히.뛰기

ft_strrchr

école 42 > libft > ft_strrchr

개요

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