[42 Seoul] ft_printf(2) Overall

yamkim·2020년 11월 1일
0

42Cursus-ft_printf

목록 보기
2/5
post-custom-banner

ft_printf Overall

Printf의 기본 틀

  • printf(format and print data)는 아래와 같은 기본적인 형태를 가집니다.
    문자열 형태의 인자와 가변인자를 함께 갖고, 정상적으로 출력 됐다면 출력된 글자수를 반환합니다.
int printf(const char *format, ...)
  • format의 conversion specification은 아래와 같은 형태를 가집니다.
%[flags][width][size][type]
- flags: "-+0 #" 중 하나 혹은 두개(추후에 소개)의 플래그를 가집니다.
- width: 거시적인 부분을 담당하며, 최종 출력될 크기와 관계됩니다.
- precision: 미시적인 부분을 담당하며, 출력될 가변인자와 관계됩니다.
- type: "cCdiuxXe..." 어떤 type의 가변인자를 출력인지 나타냅니다. 
	(주어진 과제에서는 "cspdiuxX%"에 대한 type만 구현합니다.)

구현 순서

  1. printf와 같은 역할을 하며, 출력에 대한 결과를 반환하는 src입니다.
    [ft_printf.c]
  2. %를 발견하였을 때, flag/width/size/type을 찾습니다.
    [printf_info.c]
  3. 타입에 따라 가변인자에 대한 출력을 관리합니다.
    (필요시 출력할 가변인자에 대한 문자열 메모리 공간 할당, 사용 후 메모리 해제)
    [printf_type.c, printf_type2.c]
  4. 가장 핵심적인 부분으로, type에 따라 주어지는 가변인자의 출력 방식을 결정합니다.
    [printf_put.c]
post-custom-banner

0개의 댓글