이번 프로젝트는 stdio.h 기본 라이브러리에 포함되어 있는 printf 함수의 일부 기능들을 직접 구현하는 것이다.
<aside>
💡 printf의 f는 formatted의 약자이며, 서식화된 출력을 지원한다는 의미이다!
</aside>
printf의 많은 필드 중에서 flag 필드의 -, 0, ., * 그리고 width 및 .precision 필드, type 필드의 c, s, p, d, i, u, x, X, %만 구현 하면된다.
실제 printf의 함수와 비교하면서 구현한다.
printf 함수의 인자로 주어지는 일반적인 문자열은 출력 스트림에 그대로 전달되어 출력을 하게 되지만, %로 시작하는 Format Tag(형식 태그)는 추가 인자를 받아 출력 스트림에 어떻게 출력해야 할지 가이드를 제공한다. 형식 태그는 %와 Format Specifier (서식 지정자)로 구성되어 서식 지정자에 따라 다양한 해석 방식을 나타낸다.
아래 예시를 살펴보면, %를 제외한 문자열들은 그대로 출력된다.
pritnf("Color %s, Number %d, Float %4.2f", "red", 123456, 3.14);
printf 함수의 Format Placeholder Syntax(서식 표기 구문)은 %로 시작하는 형식 태그로 표기 되며, 그 구문은 아래와 같다.