int형 정수를 받아와 주어진fd와 write함수를 사용해 출력해주는 함수
void ft_putnbr_fd(int n, int fd)
🔩 parameters
n : 출력할 int형 정수
fd : 파일 디스크립터📬 return
없음
- write함수는 int형을 바로 출력할 수 없으므로 ascii코드를 활용해 출력해주어야함
- ft_itoa를 사용하려했으나 malloc을 사용하면 안되므로 유사한 방식이지만 이번엔 재귀함수를 사용해 재구현
- 재귀함수를 통해 나중에 호출된 함수가 먼저 실행되는방식으로 하나씩 출력
- int형의 min max를 잘 생각해서 구현해줘야함
#include "libft.h"
void ft_putnbr_fd(int n, int fd)
{
char str;
if (fd < 0)
return ;
if (n == -2147483648)
{
write(fd, "-2147483648", 11);
return ;
}
else if (n < 0)
{
write(fd, "-", 1);
n = n * -1;
}
if (n >= 10)
{
ft_putnbr_fd(n / 10, fd);
str = '0' + (n % 10);
}
else if (n < 10)
{
str = '0' + n;
}
write(fd, &str, 1);
}