ft_strnstr

one·2021년 1월 8일
0

✅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);
}

profile
늘 호기심을 갖고, 새로운 것에 도전할 것.

0개의 댓글