ft_memchr.c - chanhl22/libft GitHub Wiki
1 /* ************************************************************************** */
2 /* */
3 /* ::: :::::::: */
4 /* ft_memchr.c :+: :+: :+: */
5 /* +:+ +:+ +:+ */
6 /* By: chanhlee <[email protected].> +#+ +:+ +#+ */
7 /* +#+#+#+#+#+ +#+ */
8 /* Created: 2021/01/16 17:12:08 by chanhlee #+# #+# */
9 /* Updated: 2021/02/01 17:55:20 by chanhlee ### ########.fr */
10 /* */
11 /* ************************************************************************** */
12
13 #include "libft.h"
14
15 void *ft_memchr(const void *ptr, int value, size_t n)
16 {
17 unsigned char *ptr_str;
18 size_t i;
19 unsigned char c;
20
21 ptr_str = (unsigned char*)ptr;
22 c = (unsigned char)value; ////ํจ์ ๋ด๋ถ์ ์ผ๋ก ํ ๋ฐ์ดํธ์ฉ ๋น๊ตํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ unsigned char๋ก ๋ณํํด ์ฌ์ฉ
23 i = 0;
24 while (i < n)
25 {
26 if (ptr_str[i] == c) //ํจ์ ๋ด๋ถ์ ์ผ๋ก ํ ๋ฐ์ดํธ์ฉ ๋น๊ตํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ unsigned char๋ก ๋ณํํด ์ฌ์ฉ
27 return ((void*)ptr_str + i); //๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์์ value ์ ์ผ์นํ๋ ๊ฐ์ด ์๋ค๋ฉด ๊ทธ ๊ณณ์ ์ฃผ์๋ฅผ ๋ฆฌํด
28 i++;
29 }
30 return (NULL);
31 }