지난번 libft - 2 포스트에 이어서 작성하겠습니다.
(2번째 포스팅하고 텀이 좀 길었습니다...ㅎㅎ)
char *ft_substr(char const *s, unsigned int start, size_t len)
문자열 s에서 start 인덱스 위치부터 len크기 만큼을 새로운 문자열로 만들어서 반환해줍니다.
만약 start의 위치가 문자열 s의 인덱스 범위를 벗어난다면 문자열 처음위치에 null을 넣어서 반환합니다..
return
문자열 s의 start 인덱스부터 len만큼 새로운 문자열을 만들어 반환한다.
만약 start값이 s의 인덱스를 벗어난다면 새로운 문자열에 0을 넣어 반환.
char *ft_strjoin(char const *s1, char const *s2)
문자열 s1과 s2를 합친 새로운 문자열을 만들어서 반환합니다.
s1 문자열이 앞쪽에 위치하고 s2 문자열이 그 다음에 위치합니다.
return
문자열 s1과 s2를 합친 새로운 문자열을 만들어서 반환합니다.
에러발생시 0을 반환합니다.
char *ft_strnstr(const char *str, const char *substr, size_t len)
문자열 str에서 문자열 substr을 찾는 함수입니다. 문자열 str에서 len개의 문자들만 검사합니다.
return
str에 substr이 있다면 시작 주소를 반환합니다. 없다면 NULL을 반환합니다.
만약 substr이 비어있다면 str을 반환합니다.
char *ft_strtrim(char const *s1, char const *set)
문자열 s1에서 앞뒤로 자릅니다. 문자열 set의 문자중 하나가 s1의 앞뒤로 있으면 제외시키고 새로운 문자열을 만듭니다.
예를들어 set = "asdf", s1 = "asqwdefrtyd"라고 한다면,
반환되는 새로운 문자열은 "qwdefrty"가 됩니다.
return
인자가 유효하지 않다면 0을 반환합니다.
그 외에는 s1의 앞뒤로 set 문자를 제외한 새로운 문자열이 반환됩니다.
char **ft_split(char const *s, char c)
문자열 s를 문자 c 기준으로 자른 새로운 문자열 배열을 반환합니다.
따라서 문자열의 배열을 반환하므로 반환형은 (char **)입니다.
c가 존재하지 않는다면, 크기 1의 문자열 배열을 반환합니다.
return
인자가 유효하지 않다면 0을 반환합니다.
그 외에는 s1을 자른 새로운 문자열의 배열을 반환합니다.
char *ft_itoa(int n)
int형 숫자 n을 출력가능한 문자열로 바꿔서 반환합니다.
return
에러발생시 0을 반환합니다.
그 외에는 n을 문자열로 바꿔서 반환합니다.
char *ft_strmapi(char const *s, char (*f)(unsigned int, char))
함수 포인터를 인자로 받아서 문자열 s의 문자를 하나씩 f에 집어넣어, f에서 반환되는 문자들로 문자열을 만들어서 반환합니다.
unsigned int의 경우, 함수에 넣어주는 문자열 s 인덱스를 넣어주면 됩니다.
return
에러발생시 0을 반환합니다.
그 외에는 문자열 s의 값들을 f에 넣어 만든 새로운 문자열을 반환합니다.
void ft_putchar_fd(char c, int fd)
문자 c를 파일디스크럽터 fd에 write합니다.
return
인자가 유효하지 않다면 0을 반환합니다.
그 외에는 write(fd, &c, 1)을 호출합니다.
void ft_putstr_fd(char *s, int fd)
문자열 s를 파일디스크럽터 fd에 write합니다.
return
인자가 유효하지 않다면 0을 반환합니다.
그 외에는 write(fd, s, strlen(s))을 호출합니다.
void ft_putendl_fd(char *s, int fd)
ft_putstr_fd와 같은데 마지막에 개행을 추가해줍니다.
return
인자가 유효하지 않다면 0을 반환합니다.
그 외에는 ft_putstr_fd에 write(fd, "\n", 1)을 추가로 사용합니다.
void ft_putnbr_fd(int n, int fd)
int형 정수 n을 파일디스크럽터 fd에 write합니다.
먼저 정수 n을 문자열로 바꿔서 write해야합니다.
return
인자가 유효하지 않다면 0을 반환합니다.
그 외에는 fd에 int형 정수를 문자열로 바꿔서 write합니다.
보너스 파트 부분은 다음에 또 다룰게요!