복습

42SEOUL - libft - Part02 본문

42seoul/libft

42SEOUL - libft - Part02

ykm1256 2021. 5. 14. 13:49

1. substr

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

: s 문자열을 start 인덱스부터 len 길이 만큼 자른 문자열을 반환.

  • len이 s의 길이보다 클 때는 s의 문자열의 끝까지만 자르도록 처리해야 한다.

2. strjoin

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

: s1과 s2를 이은 문자열을 반환.

3. strtrim

char *ft_strtrim(char const *S1, char const *set);

:  s1 문자열의 앞, 뒤에 있는 set 문자열에 포함되는 문자들을 제거한 문자열을 반환.

  • 처음과 끝의 인덱스를 구한 후 동적할당 하고, substr을 이용하여 값을 구했다.

4. split

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

:  c를 구분자로 해서 문자열 s를 나눠서 2차원 배열에 할당한 후 반환

  • 단어의 개수를 센 후에 2차원 포인터를 할당하고, 1차원 포인터를 각각 할당하면서 단어를 넣어준다.
  • 이때, 동적할당에 실패하면 앞에서 동적할당한 메모리를 모두 free해주어야 한다.

5. itoa

char *ft_itoa(int n);

: 숫자를 받아서 문자열로 변환 후 반환.

  • unsigned int를 사용하여 음수 최솟값과 양수 최댓값을 쉽게 처리하도록 했다.
  • calloc을 사용하여 끝에 null을 나중에 따로 넣지 않아도 된다.

6. strmapi

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

: 문자열 s의 모든 문자를 파라미터로 받은 함수 f를 적용한 문자열을 반환.

7. putchar_fd

void ft_putchar_fd(char c, int fd);

: wrtie함수를 fd를 사용하여 c를 출력하는 함수.

8. putstr_fd

void	ft_putstr_fd(char *s, int fd);

: wrtie함수를 fd를 사용하여 문자열 s를 출력하는 함수.

  • write함수의 마지막 인자에 ft_strlen(s)를 넣어준다.

9. putendl_fd

void	ft_putendl_fd(char *s, int fd);

: putstr_fd로 s를 출력 후 마지막에 개행을 출력하는 함수.

  • len이 s의 길이보다 클 때는 s의 문자열의 끝까지만 자르도록 처리해야 한다.

10. putnbr_fd

void	ft_putnbr_fd(int n, int fd);

: 숫자를 입력받아서 write로 출력하는 함수.

  • 재귀함수를 사용하여 숫자를 앞에서부터 출력하도록 했다.

'42seoul > libft' 카테고리의 다른 글

42SEOUL - libft - bonus  (0) 2021.05.14
42SEOUL - libft - Part01  (0) 2021.05.09