[42-Seoul/Libft] Part2 정리

yebeen·2022년 4월 7일
0

42-Seoul/Libft

목록 보기
2/3
post-thumbnail

Libft Part2


info

  • t_substr, ft_strjoin, ft_strtrim, ft_split, ft_itoa, ft_strmapi, ft_striteri
  • ft_putchar_fd, ft_putstr_fd, ft_putendl_fd, ft_putnbr_fd

Part2

  • t_substr
char *ft_substr(char const *s, unsigned int start, size_t len);

s : 자를 문자열, start : 시작할 인덱스 (색인), len : start부터 자를 문자열 개수
s 문자열을 start 인덱스부터 len 길이만큼 자른 문자열을 반환.
start가 s의 길이보다 크거나 같을 때, Null을 가리키는 문자열을 반환한다.
len이 s의 길이보다 클 때는 s의 문자열의 끝까지만 자르도록 처리해야 한다.(ft_strlcpy 사용)

  • ft_strjoin
char *ft_strjoin(char const *s1, char const *s2);

s1과 s2를 이은 문자열을 반환한다.
둘 다 NULL일 경우, NULL을 반환하고, 그렇지 않을 경우 값이 있는 경우만 처리되도록 하였다.

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

s1 문자열의 앞, 뒤에 있는 set 문자열에 포함되는 문자들을 제거한 문자열을 반환하는 함수이다.
처음과 끝의 인덱스를 구한 후 동적 할당하고, ft_strlcpy을 이용하여 값을 구했다.

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

특정 문자를 기준으로 문자열을 자르는 함수이다. s가 분할할 문자열이고 c가 구분 문자이다. 분할한 결과인 새 배열을 반환하며 할당이 실패하면 NULL을 반환한다.
2차원 배열로 동적 할당한 배열에 인덱싱을 해서 또 동적 할당을 하게 된다. ft_strlcpy를 호출해서 복사한다.

  • ft_itoa
char *ft_itoa(int n);

숫자를 문자열로 변환하는 함수이다. 정수가 몇 자리 인지 확인하고 일의 자리부터 값을 채워간다.

  • ft_strmapi
char *ft_strmapi(char const *s, char (*f)(unsigned int, char));

함수 포인터를 사용하여 인자로 들어온 문자열에 함수를 적용하는 함수이다.
적용된 문자로 생성된 새로운 문자열을 반환하며 할당이 실패하면 NULL을 반환한다.

  • ft_striteri
void ft_striteri(char *s, void (*f)(unsigned int, char*));

문자열 s를 순회하며 각 요소에 함수 f를 적용시키는 함수이다.
함수 f에는 현재 문자열 요소의 인덱스 값과 주소 값을 전달해준다.

  • ft_putchar_fd
void ft_putchar_fd(char c, int fd);

문자 c를 출력하는 함수이다.

  • ft_putstr_fd
void ft_putstr_fd(char *s, int fd);

문자열 s를 출력하는 함수이다.

  • ft_putendl_fd
void ft_putendl_fd(char *s, int fd);

문자열 s를 출력하고, 개행을 출력하는 함수이다.

  • ft_putnbr_fd
void ft_putnbr_fd(int n, int fd);

정수 n을 출력하는 함수이다.

Libft Part1 자세한 내용 블로그 확인

profile
🐣🐥

0개의 댓글