함수원형
char *ft_substr(char const *s, unsigned int start, size_t len)
인자
- s
우리가 떼어내고싶은 문자열이 있는 원본 문자열이다.- start
떼어내고 싶은 문자열의 시작 인덱스- len
떼어내고싶은 문자열의 길이
substr
은 원본 문자열 s
에서 하위 문자열
을 하나 만들어서 리턴해주는 함수이다. 하위 문자열은 start에서부터 len만큼의 길이
를 갖고 있다.
substr을 사용할때 주의할 점이 몇 가지 있다.
첫 번째는 원본 문자열 s가 NULL
일때.
두 번째는 원본 문자열 s의 길이가 start이하
일때.
세 번째는 len이 0
일때.
이 세가지의 상황은 빈 문자열
을 할당해서 리턴이 된다.
그 이외의 정상적인 상황이라면 len + 1만큼 할당
이 되고 해당 문자열을 복사
해서 리턴해준다.
동적할당을 사용했기 때문에 메모리 누수에 주의하자.
문자열 "123456789"
에서 나는 "456"
만 쓰고싶다면 '4'의 인덱스인 3을 start
로 주고 "456"의 길이인 3을 len
으로 준다면 내가 원하는 문자열 "456"이 새롭게 할당
이 되어서 리턴이 된다.
원본 문자열에서 내가 원하는 부분만 잘라서 새롭게 할당한 후 할당된 문자열의 포인터를 리턴해 준다.