From 925989f7e7af67d965e2b501a51068acfe449ab0 Mon Sep 17 00:00:00 2001 From: yctct Date: Wed, 28 Jan 2026 12:43:28 +0100 Subject: Add all files, first commit --- ft_putnbr.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 ft_putnbr.c (limited to 'ft_putnbr.c') diff --git a/ft_putnbr.c b/ft_putnbr.c new file mode 100644 index 0000000..fe138ff --- /dev/null +++ b/ft_putnbr.c @@ -0,0 +1,63 @@ + +#include "ft_printf.h" + +int ft_putnbr(int n) +{ + int counter; + + counter = 0; + if (n == -2147483648) + counter += ft_putstr("-2147483648"); + else if (n < 0) + { + counter += ft_putchar('-'); + n = -n; + counter += ft_putnbr(n); + } + else if (n == 0) + counter += ft_putchar('0'); + else if (n > 9) + { + counter += ft_putnbr(n / 10); + counter += ft_putchar((n % 10) + 48); + } + else + counter += ft_putchar(n + 48); + return (counter); +} + +/* +// non-recursive implementation +int ft_putnbr(int nb) +{ + char c[11]; + int i; + long int nbl; + int counter; + + nbl = nb; + counter = 0; + if (nbl < 0) + { + nbl *= -1; + counter += write(1, "-", 1); + } + if (nbl == 0) + counter += write(1, "0", 1); + i = 0; + while (nbl) + { + c[i] = (nbl % 10) + 48; + nbl = nbl / 10; + i++; + } + while (i > 0) + { + i--; + counter += write(1, &c[i], 1); + } + c[i] = '\0'; + return (counter); +} +*/ + -- cgit v1.2.3