From 507661351ca718c8a3d8213a0a80f994825fc881 Mon Sep 17 00:00:00 2001 From: Rudy Bousset Date: Tue, 29 Oct 2019 12:25:57 +0100 Subject: libft included --- libft/ft_itoa.c | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 libft/ft_itoa.c (limited to 'libft/ft_itoa.c') diff --git a/libft/ft_itoa.c b/libft/ft_itoa.c new file mode 100644 index 0000000..bf3c0c8 --- /dev/null +++ b/libft/ft_itoa.c @@ -0,0 +1,62 @@ +/* ************************************************************************** */ +/* LE - / */ +/* / */ +/* ft_itoa.c .:: .:/ . .:: */ +/* +:+:+ +: +: +:+:+ */ +/* By: rbousset +:+ +: +: +:+ */ +/* #+# #+ #+ #+# */ +/* Created: 2019/10/13 02:22:48 by rbousset #+# ## ## #+# */ +/* Updated: 2019/10/13 13:35:46 by rbousset ### #+. /#+ ###.fr */ +/* / */ +/* / */ +/* ************************************************************************** */ + +#include "libft.h" +#include +#include + +static uint8_t + ft_intlen(int n) +{ + uint8_t len; + + len = 0; + if (!n) + return (1); + if (n < 0) + len = 1; + while (n != 0) + { + n /= 10; + len++; + } + return (len); +} + +char + *ft_itoa(int n) +{ + char *s; + unsigned int nb; + uint8_t i; + + i = ft_intlen(n) - 1; + if (!(s = (char*)malloc((i + 2) * sizeof(char)))) + return (NULL); + if (!n) + s[i] = '0'; + nb = n; + if (n < 0) + { + s[0] = '-'; + nb = -n; + } + s[i + 1] = '\0'; + while (nb > 0) + { + s[i] = 48 + (nb % 10); + nb = nb / 10; + i--; + } + return (s); +} -- cgit v1.2.3