함수원형
char *ft_strtrim(char const *s1, char const *set)
인자
- s1
제거하고싶은 문자가 있는 문자열- set
제거하고싶은 문자 모음
ft_strtrim
은 문자열 s1의 앞과 뒤
에 set에 포함된
문자가 있다면 제거
해주는 함수이다.
문자열 "asd123das"에서 "123"
만 남기고 모두 날리고 싶다면 'a', 's', 'd'
이렇게 세 문자를 없애야 하기 때문에 세 문자를 모두 포함한 "asd"를 set
으로 넘겨주었다.
그러면 ft_strtrim에서는 앞과 뒤에서 인덱스
하나씩 검사를 하면서 a, s, d 셋 중 하나라도
포함되어 있다면 잘라내고 다음 인덱스로 넘어간다.
그렇게 잘라내다가 set에 포함되지 않는 문자, 즉 앞에서 검사하는 부분은 1, 뒤에서 검사하는 부분은 3을 만날때까지 앞 뒤 모두 잘라내고 남은 문자열의 길이만큼 할당을 해서 새로운 문자열
로 만든 후 리턴을 해준다.
만약 모든 문자가 set에 포함되어 있어서 모든 문자가 잘라져야 한다면 빈 문자열
을 할당한 후 리턴해준다.
앞, 뒤에 없애고 싶은 문자들을 뺀 나머지 문자들을 새로운 문자열로 할당해서 복사한 후 리턴한다.
만약 모두 잘라진다면 빈 문자열을 할당한 후 리턴한다.