From 57ae398fc76f5dc53a1a62ceda1b72445273da86 Mon Sep 17 00:00:00 2001 From: Cabergs Charles Date: Wed, 3 Jul 2019 16:37:50 +0200 Subject: c00 --- c00/ex07/ft_putnbr.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 c00/ex07/ft_putnbr.c (limited to 'c00/ex07') diff --git a/c00/ex07/ft_putnbr.c b/c00/ex07/ft_putnbr.c new file mode 100644 index 0000000..14bc13a --- /dev/null +++ b/c00/ex07/ft_putnbr.c @@ -0,0 +1,61 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putnbr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/03 10:51:16 by cacharle #+# #+# */ +/* Updated: 2019/07/03 14:29:34 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putchar(char c) +{ + write(1, &c, 1); +} + +void dirty_hack(void) +{ + ft_putchar('2'); + ft_putchar('1'); + ft_putchar('4'); + ft_putchar('7'); + ft_putchar('4'); + ft_putchar('8'); + ft_putchar('3'); + ft_putchar('6'); + ft_putchar('4'); + ft_putchar('8'); +} + +void ft_putnbr(int nb) +{ + int i; + int rev_digits[100]; + + if (nb < 0) + { + ft_putchar('-'); + if (nb == -2147483648) + { + dirty_hack(); + return ; + } + nb = -nb; + } + i = 0; + while (nb > 0) + { + rev_digits[i] = nb % 10; + nb = nb / 10; + i++; + } + while (i > 0) + { + i--; + ft_putchar(rev_digits[i] + '0'); + } +} -- cgit