char *ft_itoa(int n) { char *str; size_t len; size_t isneg; isneg = ft_isneg(n); len = ft_countnb(n) + isneg; str = ft_strnew(len); if (str) { while (len--) { if (len == 0 && isneg) str[len] = '-'; else { if (isneg) str[len] = -(n % 10) + 48; else str[len] = (n % 10) + 48; n = n / 10; } } return (str); } return (NULL); }
static char *calc(int n, int i, char *chain) { int isneg; unsigned int nb; isneg = ft_isneg(n); if (isneg == 1) nb = n * -1; else nb = n; while (nb > 0) { chain[i] = ((nb % 10 + 48)); nb = nb / 10; i++; } if (isneg == 1) { chain[i] = '-'; i++; } chain[i] = '\0'; ft_strrev(chain); return (chain); }
char *ft_itoa(int nb) { int i; char *str; int isneg; if (nb == 0 || nb == -2147483648) return ((nb == 0) ? ft_strdup("0") : ft_strdup("-2147483648")); i = 0; isneg = 0; if (nb < 0) { i++; isneg = 1; nb = nb * (-1); } i = ft_itoa_count(nb) + i; str = malloc(sizeof(char) * i + 1); if (!str) return (NULL); str[i] = '\0'; while (nb) { str[--i] = (nb % 10) + '0'; nb = nb / 10; } return (ft_isneg(isneg, str)); }
char *ft_itoa(int n) { int isneg; char *str; int len; isneg = ft_isneg(n); len = ft_getlen(n) + isneg; str = (char *)malloc(sizeof(char) * len); if (ft_isneg(n)) { n = n * -1; str[0] = '-'; } while (len-- > isneg) { str[len] = n % 10 + '0'; n = n / 10; } return (str); }