示例#1
0
char			*ft_itoa(int n)
{
	int		q;
	int		len;
	char	*toa;

	len = ft_int_len(n);
	toa = (char *)malloc(sizeof(char) * (len + 1));
	if (n == -2147483648)
		return (ft_strdup("-2147483648"));
	if (n == 0 || !toa)
		return (ft_strdup("0"));
	if (n < 0)
	{
		toa[0] = '-';
		n = -n;
	}
	toa[len] = '\0';
	while (n > 0)
	{
		toa[len - 1] = n % 10 + '0';
		q = n % 10;
		n = n - q;
		n = n / 10;
		len--;
	}
	return (toa);
}
示例#2
0
char			*ft_itoa(intmax_t n)
{
	char	*out;
	int		len;
	int		tmp;

	if (n == -2147483648)
		return ("-2147483648");
	len = ft_int_len(n);
	out = ft_strnew(len + 1);
	if (!out)
		return (NULL);
	if (n < 0)
		n *= (out[0] = '-') - 46;
	else
		len--;
	while (len != -1)
	{
		if (len == 0 && out[len] == '-')
			break ;
		tmp = n % 10;
		out[len--] = (tmp + 48);
		n /= 10;
	}
	return (out);
}
示例#3
0
文件: ft_itoa.c 项目: john971/Fdf-42
char		*ft_itoa(int n)
{
	int		len;
	char	*dest;

	len = ft_int_len(n);
	if (n != -2147483648)
		dest = ft_numput(len, n);
	else
	{
		dest = ft_strnew(12);
		if (dest != NULL)
			ft_strcpy(dest, "-2147483648");
	}
	return (dest);
}
示例#4
0
char		*ft_itoa(int n)
{
	char	*s;
	int		len;

	if (n == -2147483648)
		return (ft_strdup("-2147483648"));
	len = ft_int_len(n);
	s = ft_strnew(len);
	if (n == 0)
		s[0] = '0';
	if (n < 0)
	{
		n *= -1;
		s[0] = '-';
	}
	while (n)
	{
		--len;
		s[len] = '0' + n % 10;
		n /= 10;
	}
	return (s);
}