<함수 로직을 짜보자>
typedef struct s_list
{
int minus_flag;
int plus_flag;
int zero_flag;
int space_flag;
int shap_flag;
int width;
int precision;
} t_list;
: 구조체안에 변수들은 -, +, 0, ' ', # 와 같은 flag와 min-width, precision이고, 역활은 flag나 min-width, precision이 갱신되었을 때 저장
int ft_printf(const char *args, ...)
{
va_list ap;
int val;
t_list *flag;
flag = (t_list *)malloc(sizeof(t_list));
va_start(ap, args);
val = 0;
while (*args)
{
if (*args == '%')
ft_print_check((char **)&args, flag, ap, &val);
else
ft_putchar(*args);
args++;
}
va_end(ap);
free(flag);
return (val);
}
위에서 아래로 로직 설명
<변수 선언>
<변수 초기화>
<while문 로직>
<할당해제>
<반환>