char *ft_itoa(int n) { char *s; int len; len = ft_numlen(n); s = ft_strnew(len); if (s == NULL) return (NULL); len--; if (n < 0) { s[len] = (10 - n % 10) % 10 + '0'; s[0] = '-'; len--; n = n / (-10); } while (len >= 0 && s[len] != '-') { s[len] = n % 10 + '0'; n = n / 10; len--; } return (s); }
size_t ft_putnbr_fd(long n, int fd) { size_t index; index = ft_numlen(n); ft_writenbr_fd(n, fd); return (index); }
char *ft_itoa(int n) { char *s; int i; i = ft_numlen(n); if (n < 0) { if (!(s = (char*)malloc(sizeof(char) * (i + 2)))) return (NULL); *s = '-'; s[i + 1] = 0; s_itoa(n, i, &s, 1); } else { if (!(s = (char*)malloc(sizeof(char) * (i + 1)))) return (NULL); s[i] = 0; s_itoa(n, i - 1, &s, 0); } return (s); }