diff options
Diffstat (limited to 'lib/libft/ft_putnbr_fd.c')
| -rw-r--r-- | lib/libft/ft_putnbr_fd.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/libft/ft_putnbr_fd.c b/lib/libft/ft_putnbr_fd.c new file mode 100644 index 0000000..96f5f4b --- /dev/null +++ b/lib/libft/ft_putnbr_fd.c @@ -0,0 +1,38 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putnbr_fd.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/03/10 10:43:09 by dkaiser #+# #+# */ +/* Updated: 2024/03/10 13:20:59 by dkaiser ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +static void putnbr_fd_rec(int n, int fd) +{ + char c; + + c = '0' + n % 10; + if (n > 9) + putnbr_fd_rec(n / 10, fd); + write(fd, &c, 1); +} + +void ft_putnbr_fd(int n, int fd) +{ + if (n == -2147483648) + { + write(fd, "-2147483648", 11); + return ; + } + if (n < 0) + { + write(fd, "-", 1); + n *= -1; + } + putnbr_fd_rec(n, fd); +} |
