haystack문자열에서 len크기만큼을 탐색하며 needle문자열이 있는지 찾는 함수
📃 ft_strnstr 원형
char *ft_strnstr(const char *haystack, const char *needle, size_t len)
🔩 parameters
*haystack : 탐색할 문자열
*needle : 찾을 문자열
len : 문자열을 탐색할 크기📬 return
char *형 반환
- needle문자열이 빈 문자열이라면 haystack문자열을 바로 반환
- haystack문자열을 len만큼 탐색도중 len문자열을 찾는다면 haystack에서 len문자열과 일치하는 시작점의 주소를 반환
- 문자열을 탐색도중 len을 찾지못했다면 NULL을 반환
len을 찾았다면 haystack에서 len문자열과 같은 부분의 시작주소를 반환해주어야 함
#include "libft.h"
char *ft_strnstr(const char *haystack, const char *needle, size_t len)
{
size_t i;
size_t j;
i = 0;
j = 0;
if (needle[0] == '\0')
return ((char *)haystack + i);
while (i < len && haystack[i] != '\0')
{
if (haystack[i] == needle[0])
{
while (haystack[i + j] == needle[j] && (i + j) < len \
&& haystack[i + j] != '\0')
j++;
if (needle[j] == '\0')
return ((char *)haystack + i);
}
j = 0;
i++;
}
return (NULL);
}