열렬히.뛰기

ft_memchr

école 42 > libft > ft_memchr

문제 소개

  • ft_strchr과 비슷한 문제라고 할 수 있다.

  • void 포인터 s에서 c와 동일한 부분을 만나면, 해당 포인터를 리턴

    ex. s = “computer science”, c = “p”

    반환값 = “puter science”

구현

  • 메모리 연산을 해야하므로 unsigned char를 이용
  • 같은 값을 만나서 반환

코드

c
#include "libft.h"

void	*ft_memchr(const void *buffer, int c, size_t n)
{
	size_t		i;

	i = 0;
	while (i < n)
	{
		if (((unsigned char *)buffer)[i] == (unsigned char) c)
			return ((void *)buffer + i);
		i++;
	}
	return ((void *)0);
}