https://github.com/paulo-santana/ft_printf_tester
가변인자는 사용할 일이 많지 않지만 printf 구현 시 필요
함수의 인자(argument)의 개수가 변하는 것을 가변인자(variable argument)라고 한다.
[반환값 자료형] [함수이름] ([고정매개변수], ....){
}
void ft_printf(const char* format, ...){
}
이 과제에서 서식문자 c, s, p, d, i, u, x, X, %를 구현
길이(length) 구현 할 필요 없음
d | int값을 부호있는 10진수로 출력 |
---|---|
i | int값을 부호있는 10진수로 출력 |
u | int값을 부호없는 10진수로 출력 |
c | int 형으로 들어온 문자 출력 |
s | 문자열 출력 |
p | 포인터값을 16진수로 출력 |
x | int값을 부호없는 16진수로 출력 10~15은 'a'~'f'로 표시 |
X | int값을 부호없는 16진수로 출력 10~15은 'A'~'F'로 표시 |
% | %출력 |
‘-’ | ‘0’ | ‘#’ | ‘ ’ | ‘+’ | |
---|---|---|---|---|---|
c | O | O | 사용안함 | 사용안함 | 사용안함 |
s | O | 사용안함 | 사용안함 | 사용안함 | 사용안함 |
p | O | 사용안함 | 사용안함 | 사용안함 | 사용안함 |
d | O | O | 사용안함 | O | O |
i | O | O | 사용안함 | O | O |
u | O | O | 사용안함 | 사용안함 | 사용안함 |
x | O | O | O | 사용안함 | 사용안함 |
X | O | O | O | 사용안함 | 사용안함 |
% | O | O | 사용안함 | 사용안함 | 사용안함 |
flag #, (공백), + 구현
정밀도 . 구현
'(공백)', '0' 등의 플래그는 '-' 플래그를 만나면 무시됩니다.
너비가 더 크다면, 왼쪽에 그 만큼 공백이 생기고,원래 숫자의 소숫점 밑의 수보다 크면, 오른 쪽을 0으로 채웁니다.
ft_printf정리 : https://velog.io/@hkh406/ftprintf-정리
C언어 코딩 도장 : https://dojang.io/mod/page/view.php?id=577
42서울 카뎃 printf 정리 : https://kirkim.github.io/42seoul/2021/03/03/a_formatted.html
42Seoul Slack