Unborn 8.0 Yellow Pointer
본문 바로가기
42 SEOUL/0_Libft

[Libft] Part2 : Additional functions

by 에삐니 2022. 3. 28.
728x90

[이전 글]

 

[Libft] 나만의 첫 번째 라이브러리

1. 프로젝트 소개 C 프로그래밍을 할 때 매우 유용한 표준 함수들을 사용할 수 없다면 굉장히 지루할 거예요. 이 프로젝트를 통해 이러한 표준 함수들을 구현하고, 이해하고, 어떻게 사용하는지

bini-079.tistory.com

[다음 글]

 

[Libft] Bonus part

[이전 글] [Libft] 나만의 첫 번째 라이브러리 1. 프로젝트 소개 C 프로그래밍을 할 때 매우 유용한 표준 함수들을 사용할 수 없다면 굉장히 지루할 거예요. 이 프로젝트를 통해 이러한 표준 함수들

bini-079.tistory.com


Part 2 : Additional functions

두 번째 파트에서는, libc에 포함되어 있지 않거나 다른 형식으로 포함된 함수들을 재구현하여야 합니다. 다음 함수들 중 일부는 Part 1 함수를 작성할 때 도움이 될 거예요.

  • ft_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
반응형

ft_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을 출력하는 함수이다.
728x90
반응형

댓글