Пример #1
0
char		*ft_itoa(int n)
{
	char	*s;
	int		lenght;
	int		signe;

	signe = ft_signe(n);
	if (!(s = ft_strnew(ft_lenght(n) + signe)))
		return (NULL);
	if (ft_signe(n) == 1)
		n = -n;
	lenght = ft_lenght(n) + signe;
	s[lenght] = '\0';
	if (n == 0)
		s[0] = '0';
	if (n == -2147483648)
		return (ft_strdup("-2147483648"));
	while (n != 0)
	{
		s[--lenght] = ((n % 10) + '0');
		n /= 10;
	}
	if (signe == 1)
		s[--lenght] = '-';
	return (s);
}
Пример #2
0
char		*ft_itoa(int nbr)
{
	char	*nombre;
	int		i;
	int		signe;

	i = ft_lennbr(nbr);
	nombre = (char *)malloc(sizeof(*nombre) * i + 1);
	if (nbr == -2147483648)
		return (ft_strcpy(nombre, "-2147483648"));
	signe = ft_signe(&nbr);
	nombre[i] = '\0';
	i--;
	if (nbr == 0)
		nombre[i] = '0';
	while (nbr != 0)
	{
		nombre[i] = (nbr % 10) + 48;
		nbr = nbr / 10;
		i--;
	}
	if (signe == 1)
		nombre[i] = '-';
	return (nombre);
}