/* ************************************************************************** */ /* LE - / */ /* / */ /* ft_itoa_base.c .:: .:/ . .:: */ /* +:+:+ +: +: +:+:+ */ /* By: rbousset +:+ +: +: +:+ */ /* #+# #+ #+ #+# */ /* Created: 2019/12/31 14:28:40 by rbousset #+# ## ## #+# */ /* Updated: 2019/12/31 14:28:43 by rbousset ### #+. /#+ ###.fr */ /* / */ /* / */ /* ************************************************************************** */ #include #include char *ft_itoa_base(long n, char *base) { char *s; long nb; uint8_t i; i = ft_intlen_base(n, base) - 1; if (!(s = (char*)malloc((i + 2) * sizeof(char)))) return (NULL); if (!n) s[i] = '0'; if (n < 0) { s[0] = '-'; nb = -n; } s[i + 1] = '\0'; while (n > 0) { nb = n; if (nb >= (long)ft_strlen(base)) nb = n % ft_strlen(base); s[i] = base[nb]; n /= ft_strlen(base); i--; } return (s); }