#include "libft.h" #include static size_t _s_numlen (int n) { size_t len; len = 1; if (n < 0) len++; while (n / 10) { len++; n /= 10; } return (len); } char * ft_itoa (int n) { size_t len; char *str; unsigned int nb; len = _s_numlen (n); str = malloc (len + 1); if (!str) return (NULL); str[len] = '\0'; if (n < 0) { str[0] = '-'; nb = -n; } else nb = n; while (len > 0 && str[len - 1] != '-') { str[--len] = '0' + nb % 10; nb /= 10; } return (str); }