42 CURSUS / ft_printf_03 (Flow chart)

2021. 6. 21. 15:2342 SEOUL/42 cursus

일단 지금까지 나온거 플로우 차트로 그려보았음

화살표라던가 컨벤션이 있을테지만 아직 제대로 쓸 줄을 모름

 

그림 1) ft_printf_type_checker

libft.h는 libft의 함수를 담고, 아카이빙을 먼저 함.

printf는 printf의 함수 및 libft.h를 import하여 ft_printf.h를 include하는 *.c 파일에서 libft를 사용할 수 있게 함.

메이크파일은 먼저 $(MAKE) -C 명령어를 이용해 libft.a를 만든 후 cp 명령어로 이름을 libftprintf.a로 바꾸고 ar -rcs 옵션을 통해 ft_printf의 새로운 오브젝트들을 추가해줌.

 

함수는 while문을 이용해 고정 인자를 돌며 '%'를 만나면 ft_check_obj 함수에 va_list와 str + 1의 포인터, 그리고 최종 문자열의 길이를 담을 len을 포인터로 보내 저장할 수 있게 만듬(지금 약간 이 룰 고민중, 3줄씩 포기하고 반환형 int로 해서 오류를 바로잡기 vs 글로벌 변수 사용)

 

일단 precision과 width는 음수일 수가 없으므로, 음수면 각각 윗 단계로 보내서 flag에 '-'를 전해줌.

과정이 끝나면 flag, width, precision, type을 담은 opt 구조체 생김

 

 

반응형