๐ณ 42 SEOUL [42seoul / ft_printf] ํ๋ก์ ํธ ๋ด์ฉ ๋ฐ ์์์ผ ํ ๋ด์ฉ - ft_printf Summary && Introduction printf ํจ์๋ฅผ ๋๊ฐ์ด ๊ตฌํํ๋ผ. ์ฐจํ ํ๋ก์ ํธ์์ ์ฌ์ฉ ๋ ๊ฒ์ด๋ค. ๊ฐ๋ณ์ธ์์ ๋ํ ์ฌ์ฉ๋ฒ์ ๋ฐฐ์ด๋ค. ์ฑ๊ณต์ ์ธ ft_printf ์ ํต์ฌ์ ๊ตฌ์กฐํ ๋ฐ ํ์ฅ ๊ฐ๋ฅํ ์ฝ๋์ด๋ค. Common Instructions Norm check๋ฅผ ์ค์ํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ๋ผ. (๋ณด๋์ค ํํธ ํฌํจ) - ์๋์ 0์ ๋ถ์ฌ ํจ์ ์์ฑ์ segmentation fault, bus error, double free ๋ฑ๋ฑ์ ๊ฐ์์ค๋ฐ ์ข ๋ฃ์ ์ฃผ์ํด๋ผ. - ์๋์ 0์ ๋ถ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋์๋ ํ์ฉ๋์ง ์๋๋ค. ๋ชจ๋ ํ ๋น๋ ํ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ์ฌ ์ ์ ํ free๋ฅผ ํด์ผํ๋ค. - ์๋์ 0์ ๋ถ์ฌ relink ๋์ง ์์ Makefile์ ์์ฑํ์ฌ ์ ์ถํ๋ผ. ์ปดํ์ผ์-Wall -Wextra -Werrorํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์ปดํ์ผํ๊ฒ๋๋ค. Makefile์๋ $(NAME) all clean fclean re๋ฅผ ํฌํจํ์ฌ์ผ ํ๋ค. ์ด ํ๋ก์ ํธ์์ libft๋ฅผ ์ฌ์ฉํ๋ค๋ฉด, ์์คํ์ผ๊ณผ ๊ด๋ จ makefile์ ํจ๊ป libftํด๋์ ๋ฃ์ด์ผํ๋ค. ๊ทธ๋ฆฌ๊ณ ft_printf์ makefile์ libft๋ฅผ ์ปดํ์ผ ํ ํ์ ft_printfํ๋ก์ ํธ๋ฅผ ์ปดํ์ผํ์ฌ์ผ ํ๋ค. Mandatory part ft_printf์ ์ํ์ ๋ฐ๋์ int ft_printf(const char *, ...)๋กํด๋ผ. Cํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ(libc)์ printf ํจ์๋ฅผ recodeํด์ผํ๋ค. ์๋ณธ printf์ฒ๋ผ buffer ๊ด๋ฆฌ๋ฅผ ํด์๋ ์๋๋ค. ๋ค์๊ณผ ๊ฐ์ ์์๋ฌธ์(conversion)๋ฅผ ๋ค๋ค์ผํ๋ค. : cspdiuxX% ๋ชจ๋ ์์๋ฌธ์์์ -0.*ํ๋๊ทธ์ ์ต์ ํ๋ ๋๋น(minimum field width)์ ๋ค๋ค์ผํ๋ค. ์๋์ printf ํจ์์ ๋น๊ต๋ ๊ฒ์ด๋ค. ar ์ปค๋งจ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค์ด๋ผ. libtool์ ๊ธ์ง๋์ด์๋ค. ## ํ๋ก์ ํธ ์ ์์์ผํ ๋ด์ฉ 1. ๊ฐ๋ณ์ธ์ (variable argument) https://infinitt.tistory.com/335 [C / 42seoul / ft_printf] - ๊ฐ๋ณ์ธ์ (variable argument) ๊ฐ๋ณ์ธ์ (variable argument) ๊ฐ๋ณ ์ธ์๋? C์ธ์ด์์๋ scanf ํน์ printf ์ฒ๋ผ ๋งค๊ฐ๋ณ์์ ๊ฐ์๊ฐ ์ ํด์ง์ง ์์ ํจ์๋ค์ด ์๋ค. ์ด๋ฐ ํจ์๋ค์ ์ฌ์ฉํ ๋๋ง๋ค ๋งค๊ฐ๋ณ์์ ๊ฐ์๊ฐ ๋ฌ๋ผ์ง๋ฉฐ, ์ด๋ฌํ ๊ฒ infinitt.tistory.com ๊ณต์ ํ๊ธฐ URL ๋ณต์ฌ์นด์นด์คํก ๊ณต์ ํ์ด์ค๋ถ ๊ณต์ ์์ค ๊ณต์ ๊ฒ์๊ธ ๊ด๋ฆฌ ๊ตฌ๋ ํ๊ธฐnewmon Contents Summary&&Introduction CommonInstructions Mandatorypart ##ํ๋ก์ ํธ์ ์์์ผํ ๋ด์ฉ ๋น์ ์ด ์ข์ํ ๋งํ ์ฝํ ์ธ [C / 42seoul / ft_printf] - ์์ ์ง์ ์ (format specifier) 2021.06.01 [C / 42seoul / ft_printf] - ๊ฐ๋ณ์ธ์ (variable argument) 2021.05.27 42seoul (42์์ธ) - ๋ณธ๊ณผ์ ๊ฒฐ๊ณผ - 3๊ธฐ 2์ฐจ 2020.12.18 42seoul (42์์ธ) - 4์ฃผ์ฐจ ํ๊ธฐ ๋ผ ํผ์ (La piscine) - 3๊ธฐ 2์ฐจ 2020.12.18 ๋๊ธ 0 + ์ด์ ๋๊ธ ๋๋ณด๊ธฐ