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

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

42Seoul

목록 보기
33/45

함수원형

char	**ft_split(char const *s, char c)

인자

  • s
    나누게 될 문자열
  • c
    나눌 때 사용될 구분 문자

1. ft_split이란??

문자열 s를 구분문자인 c에 맞춰서 잘라낸 후 새로운 배열을 만든 후 리턴해주는 함수이다.

2. 사용예제


이런 식으로 문자열 "1 12 123 1234 12345"를 ' '에 맞춰서 문자열 "1", "12", "123", "1234", "12345"로 나눠지게된다. 그렇게 모두 할당이 된다면 char**의 형태로 리턴이 되게 된다.

만약 중간에 문제가 생겨서 내부 문자열의 할당이 실패한다면 지금까지 할당된 모든 문자열이 해제가 된다.

그리고 split을 free할때는 str의 내부 문자열들, "1", "12"등 잘라진 문자열 먼저 할당을 해제하고 마지막에 str을 free해줘야 완전히 할당이 해제가 된다.


만약 이런 식으로 구분문자가 '\0'이 들어오게 된다면 s를 통째로 할당한 후 리턴해준다.

3. 리턴값

구분문자를 통해 문자열을 모두 잘라낸 후 잘라진 문자열들을 더블포인터로 할당한 후 리턴한다.

0개의 댓글