개요
- apply_null : ft_putstr로 NULL이 들어올 때 처리
- *str == NULL일 때 이 함수로 넘어오게 처리하는 것이 아니다.
- 이 의미는 할당 값이 공백이라는 뜻.
- 따라서, str == NULL일 때 로 조건을 처리해야 한다.
- ft_putchar : 문자(%c) 처리
- ft_putstr : 문자열 (%s) 처리
코드
c
#include "ft_printf.h"
static void apply_null(int *cnt)
{
ssize_t a;
a = write(1, "(null)", 6);
if (a == -1)
{
(*cnt) = -1;
return ;
}
(*cnt) += 6;
}
void ft_putchar(char c, int *cnt)
{
ssize_t a;
a = write(1, &c, 1);
if (a == -1)
{
(*cnt) = -1;
return ;
}
(*cnt)++;
}
void ft_putstr(char *str, int *cnt)
{
int n;
ssize_t a;
n = 0;
if (str == 0)
apply_null(cnt);
else
{
while (str[n] != '\0')
{
a = write(1, &str[n++], 1);
if (a == -1)
{
(*cnt) = -1;
return ;
}
(*cnt)++;
}
}
}