/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_uitoa_base.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: joelecle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/14 17:07:19 by joelecle #+# #+# */ /* Updated: 2020/02/14 17:07:19 by joelecle ### ########lyon.fr */ /* */ /* ************************************************************************** */ #include #include char *ft_uitoa_base(unsigned long n, char *base) { char *s; unsigned long nb; uint8_t i; i = ft_uintlen_base(n, base) - 1; if (!(s = (char*)malloc((i + 2) * sizeof(char)))) return (NULL); if (!n) s[i] = '0'; s[i + 1] = '\0'; while (n > 0) { nb = n; if (nb >= (unsigned long)ft_strlen(base)) nb = n % ft_strlen(base); s[i] = base[nb]; n /= ft_strlen(base); i--; } return (s); }