문자열 s1을 처음부터 순회하며 set문자열에 존재하지않는 문자가 나온 곳 부터 set문자열에 속한 문자가 나오지 않은곳까지를 잘라서 반환해주는 함수
ex) s1= "abc12312131def123", set= "abcdef" 이라면 반환값은 "12312131"
char *ft_strtrim(char const *s1, char const *set)
🔩 parameters
*s1 : 탐색할 문자열
*set : 나누는 기준이 되는 문자열📬 return
char *형 반환
- 문자열을 잘라준 뒤 malloc으로 저장공간을 할당하고 그곳에 저장한 문자열의 포인터를 반환
- 문자열 s1에 set에 해당하는 문자가 없다면 \0이 들어있는 문자열의 저장공간을 할당해서 반환해줌, 이때 내가 만든 ft_substr은 s1의 크기보다 start값이 클때 \0이 있는 문자열의 저장공간을 반환해줌
- 반환될 문자열의 끝에는 \0을 넣어줘야함
#include "libft.h"
int checkchar(char a, char const *b)
{
int i;
i = ft_strlen(b);
while (i >= 0)
{
if (b[i] == a)
return (1);
i--;
}
return (0);
}
char *ft_strtrim(char const *s1, char const *set)
{
char *str;
size_t i;
size_t j;
i = 0;
j = ft_strlen(s1);
if (s1 == 0)
return (0);
while (s1[i] && checkchar(s1[i], set))
i++;
while (s1[j - 1] && checkchar(s1[j], set) && i < j)
j--;
str = ft_substr(s1, i, j - i + 1);
return (str);
}