[42seoul] ft_strtrim은 어떤 함수일까??

개발하는 곰댕이·2021년 4월 10일
0

42Seoul

목록 보기
32/45
post-custom-banner

함수원형

char	*ft_strtrim(char const *s1, char const *set)

인자

  • s1
    제거하고싶은 문자가 있는 문자열
  • set
    제거하고싶은 문자 모음

1. ft_strtrim이란??

ft_strtrim은 문자열 s1의 앞과 뒤set에 포함된 문자가 있다면 제거해주는 함수이다.

2. 사용 예제


문자열 "asd123das"에서 "123"만 남기고 모두 날리고 싶다면 'a', 's', 'd' 이렇게 세 문자를 없애야 하기 때문에 세 문자를 모두 포함한 "asd"를 set으로 넘겨주었다.

그러면 ft_strtrim에서는 앞과 뒤에서 인덱스 하나씩 검사를 하면서 a, s, d 셋 중 하나라도 포함되어 있다면 잘라내고 다음 인덱스로 넘어간다.

그렇게 잘라내다가 set에 포함되지 않는 문자, 즉 앞에서 검사하는 부분은 1, 뒤에서 검사하는 부분은 3을 만날때까지 앞 뒤 모두 잘라내고 남은 문자열의 길이만큼 할당을 해서 새로운 문자열로 만든 후 리턴을 해준다.

만약 모든 문자가 set에 포함되어 있어서 모든 문자가 잘라져야 한다면 빈 문자열을 할당한 후 리턴해준다.

3. 리턴값

앞, 뒤에 없애고 싶은 문자들을 뺀 나머지 문자들을 새로운 문자열로 할당해서 복사한 후 리턴한다.
만약 모두 잘라진다면 빈 문자열을 할당한 후 리턴한다.

post-custom-banner

0개의 댓글