42 CURSUS / ft_printf_03 (Flow chart)
2021. 6. 21. 15:23ㆍ42 SEOUL/42 cursus
일단 지금까지 나온거 플로우 차트로 그려보았음
화살표라던가 컨벤션이 있을테지만 아직 제대로 쓸 줄을 모름
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 구조체 생김
반응형
'42 SEOUL > 42 cursus' 카테고리의 다른 글
42 CURSUS / Born 2 be root (과제 정리) -1 (0) | 2021.07.05 |
---|---|
42 CURSUS / ft_printf_04 (Flow chart) (0) | 2021.07.05 |
42 CURSUS / ft_printf_02 (0) | 2021.06.19 |
42 CURSUS / ft_printf_01(가변 인자와 매크로) (0) | 2021.06.18 |
42 CURSUS / GET_NEXT_LINE (0) | 2021.06.16 |