Summary
이 프로젝트의 목표는 매우 간단합니다. printf()를 다시 코드화합니다. 당신은 가변 인자를 사용하는 것에 대해 배울 것입니다.
Mandatory part
libc의 printf() 함수를 다시 코딩해야 합니다.
ft_printf()의 프로토타입 :
int ft_printf(const char *, ...);
요구 사항은 다음과 같습니다.
- 원본 printf()의 버퍼 관리(buffer management)를 구현하지 마십시오.
- 함수는 다음 변환을 처리해야 합니다. cspdiuxX%
- 함수는 원본 printf()와 비교됩니다.
- 라이브러리를 만들려면 ar 명령어를 사용해야 합니다. libtool 명령을 사용할 수 없습니다.
- libftprintf.a는 리포지토리의 루트에 생성되어야 합니다.
다음의 변환을 구현해야 합니다.
%c
단일 문자를 출력합니다.%s
일반 C 규칙에 정의된 대로 문자열을 출력합니다.%p
void * 포인터 인수는 16진수 형식으로 출력해야 합니다.%d
십진수(밑이 10) 숫자를 출력합니다.%i
밑이 10인 정수를 출력합니다.%u
부호 없는 10진수(밑이 10) 숫자를 출력합니다.%x
숫자를 16진수(밑이 16) 소문자 형식으로 출력합니다.%X
숫자를 16진수(밑이 16) 대문자로 출력합니다.%%
백분율 기호를 출력합니다.
Bonus part
모든 보너스를 구현할 필요는 없습니다.
보너스 리스트:
- 다음 플래그들의 조합(any combination)을 구현하세요 : ‘-0.’ 그리고 각 서식 지정자별 최소 폭
- 다음 플래그를 모두 관리합니다. ‘# +’ (맞아요, 이 중 하나는 공백입니다.)