✅strnstr
big
문자열의 len
길이 중에서 little
문자열을 찾는 것.
💾함수 원형
char *strnstr(const char * big, const char *little, size_t len);
💻Parameters
big
: 탐색할 문자열
little
: 찾아야하는 문자열
len
: big
문자열 내 탐색할 범위
💻Return value
char *
형으로 리턴
little
을 찾았을 경우 문자열 중 첫글자를 가리키는 포인터
를 리턴.
little
을 찾지 못할 경우 NULL
을 리턴.
little
이 비었을 때는 big
을 리턴.
💾함수 구현
#include "libft.h"
char* ft_strnstr(const char* big, const char* little, size_t len)
{
size_t i;
size_t j;
i = 0;
if (*little == '\0')
return ((char *) big);
while (big[i] != '\0' && i < len)
{
j = 0;
while (big[i + j] == little[j] && i + j < len)
{
j++;
if (little[j] == '\0')
return ((char *)&big[i]);
}
i++;
}
return (0);
}
💾사용 예시
#include <stdio.h>
int main()
{
char s1[30] = "pen pineapple apple pen!";
char* ptr = ft_strnstr(s1, "pine", 10);
printf("%s\n", ptr);
char* ptr1 = ft_strnstr(s1, "pine", 5);
printf("%s\n", ptr1);
return (0);
}