コード例 #1
0
ファイル: ft_itoa.c プロジェクト: kbunel/ecole_42
char			*ft_itoa(int n)
{
	int		i;
	int		k;
	char	*str;

	if (n == -2147483648)
		return ("-2147483648");
	i = (n >= 0 ? ft_len(n) : ft_len(n * -1) + 1);
	str = (n >= 0 ? ft_strnew(i) : ft_strnew(i));
	k = (n >= 0 ? n : n * -1);
	if (str)
	{
		while (i > 0)
		{
			str[--i] = k % 10 + 48;
			k /= 10;
		}
		if (n < 0)
			str[i] = '-';
		return (str);
	}
	else
		return (NULL);
}
コード例 #2
0
ファイル: ft_itoa.c プロジェクト: m-ab/fdf
char		*ft_itoa(int n)
{
	char	*str;
	int		count;
	int		sign;

	sign = 0;
	if (n == -2147483648)
		return (ft_strdup("-2147483648"));
	if (n < 0)
	{
		n = -n;
		count = ft_len(n) + 1;
		sign = 1;
	}
	else
		count = ft_len(n);
	if ((str = (char *)malloc(sizeof(*str) * (count + 1))) == NULL)
		return (NULL);
	if (n == 0)
		str[0] = '0';
	str[count--] = '\0';
	str = ft_solve(str, count, n);
	if (sign == 1)
		str[0] = '-';
	return (str);
}
コード例 #3
0
ファイル: ft_itoa.c プロジェクト: gperroch/Fillit-C
char		*ft_itoa(int n)
{
	char	*result;
	int		i;
	int		o;

	o = 0;
	i = 0;
	if (n == -2147483648)
		return (ft_strdup("-2147483648"));
	if (n < 0)
	{
		o = 1;
		n = -n;
		i++;
	}
	if (n == 0)
	{
		if (!(result = (char*)malloc(sizeof(char) * 2)))
			return (NULL);
		result[0] = '0';
		result[1] = '\0';
		return (result);
	}
	if (!(result = (char*)malloc(sizeof(char) * (ft_len(i, n) + 1))))
		return (NULL);
	return (ft_writing(n, o, ft_len(i, n), result));
}
コード例 #4
0
ファイル: ft_itoa.c プロジェクト: avallete/ft_select
char			*ft_itoa(int n)
{
	size_t	size;
	size_t	i;
	int		e;
	char	*result;

	ft_len(n, &size, &e);
	if ((result = (char*)malloc(sizeof(*result) * (size + 1))))
	{
		i = 0;
		if (n < 0)
		{
			result[i] = '-';
			i++;
		}
		if (n > 0)
			n = -n;
		while (e >= 1)
		{
			result[i++] = -(n / e % 10) + 48;
			e /= 10;
		}
		result[i] = '\0';
		return (result);
	}
	return (NULL);
}
コード例 #5
0
ファイル: ft_writeln.c プロジェクト: julekgwa/Bootcamp2016
void	ft_writeln(void *buf)
{
	int size;

	size = ft_len(buf);
	write(1, buf, size);
}
コード例 #6
0
ファイル: ft_treatment.c プロジェクト: Geronymo/42
int		ft_treatment(char **ptr_map, char ptr_map_saved[16][16], char order_figure[27], int i)
{
	int		pos[3];
	int		end;

	end = 0;
	pos[0] = 0;
	pos[1] = 0;
	pos[2] = ft_len(ptr_map);
	if (ft_place(ptr_map, order_figure[i], ((char)i + 64), pos))
	{
		if (i == order_figure[0])
		{
			end = ft_save(ptr_map, ptr_map_saved, pos[2], order_figure[0]);
		}
		else
		{
			while (!end)
			{
					end = ft_treatment(ptr_map, ptr_map_saved, order_figure, (i + 1));
					if (end < 26 && end >= 0)
					{
						if (!ft_deplace(ptr_map, order_figure[i], (i + 64), pos))
						{
							ft_del(ptr_map, (i + 64), pos[2]);
							end = 1;
						}
					}
			}
		}
	}
	else
		return (0);
	return (end - 1);
}
コード例 #7
0
ファイル: ft_itoa.c プロジェクト: gaizah/libft
char	*ft_itoa(int n)
{
	char	*temp;
	int		nbr;
	int		neg;

	if (n == -2147483648 || n == 0)
		return (ft_strdup((n == 0) ? "0" : "-2147483648"));
	neg = 0;
	nbr = ft_len(n);
	if (n < 0)
	{
		neg = 1;
		n *= -1;
	}
	if (neg == 0)
		nbr--;
	if (!(temp = (char*)malloc(sizeof(char) * (nbr + 1))))
		return (NULL);
	while (n > 0)
	{
		temp[nbr--] = (n % 10) + 48;
		n /= 10;
	}
	if (neg > 0)
		temp[0] = '-';
	return (temp);
}
コード例 #8
0
ファイル: ft_itoa.c プロジェクト: SobakaDikaya/Fillit
char			*ft_itoa(int n)
{
	char	*str;
	int		i;
	int		neg;

	if (!(str = malloc(sizeof(char) * ft_len(n) + 1)))
		return (NULL);
	if (n == -2147483648)
		return (ft_strcpy(str, "-2147483648"));
	i = 0;
	neg = 0;
	if (n == 0)
	{
		str[0] = '0';
		str[1] = '\0';
		return (str);
	}
	if (n < 0)
	{
		str[i++] = '-';
		n = n * -1;
		neg--;
	}
	str = ft_toarr(n, str, &i);
	str = ft_stwist(str, i - 1, neg);
	return (str);
}
コード例 #9
0
ファイル: checkint.c プロジェクト: leloozer/42projects
void	ft_checkint(t_flag *tmp, va_list ap)
{
	void	*nbr;
	int		len;
	int		lenprecision;

	lenprecision = 0;
	if (tmp->type == 'd' || tmp->type == 'i' || tmp->type == 'D')
	{
		nbr = va_arg(ap, void *);
		if (nbr == NULL)
			nbr = 0;
		if (tmp->type == 'D')
			ft_modifmaj(tmp);
		if ((tmp->hh || tmp->h || tmp->l || tmp->ll || tmp->j || tmp->z) == 1)
			len = ft_lenmodif(tmp, nbr);
		if ((tmp->hh || tmp->h || tmp->l || tmp->ll || tmp->j || tmp->z) == 0)
			len = ft_len((int)nbr);
		tmp->nbprint = tmp->nbprint + len;
		if (tmp->precision > len)
		{
			lenprecision = tmp->precision - len;
			len = tmp->precision;
		}
		ft_checkintsuite(tmp, len, lenprecision, nbr);
	}
コード例 #10
0
static int		ft_str_cpy(char const *string, char **str, int v, char c)
{
	size_t		i;
	size_t		h;
	size_t		word;

	i = (word = 0) + (h = 0);
	while (string[i] == c && string[i] != '\0')
		i++;
	while (string[i] != c && string[i] != '\0')
	{
		if (word == 0)
			str[v] = (char *) malloc((ft_len(string, c, i) + 1) * sizeof(char));
		word = 1;
		str[v][h] = string[i];
		str[v][h + 1] = '\0';
		i++;
		h++;
	}
	if (str[v] && word == 1)
	{
		word = 0;
		v++;
		str[v] = NULL;
	}
	return (i);
}
コード例 #11
0
char	*ft_concat_params(int argc, char **argv)
{
	int		k;
	int		i;
	int		j;
	char	*newargv;

	newargv = (char*)malloc(sizeof(*newargv) * (ft_len(argc, argv) + argc));
	k = 0;
	i = 1;
	while (i < argc)
	{
		j = 0;
		while (argv[i][j])
		{
			newargv[k] = argv[i][j];
			j++;
			k++;
		}
		if (i < argc - 1)
			newargv[k++] = '\n';
		i++;
	}
	newargv[k] = '\0';
	return (newargv);
}
コード例 #12
0
ファイル: ft_strdup.c プロジェクト: Radugr7/ls
char	*ft_strdup(const char *s1)
{
	char	*copy;
	int		i;

	copy = (char*)malloc(sizeof(char) * (ft_len(s1) + 1));
	i = 0;
	while (s1[i] != '\0')
	{
		copy[i] = s1[i];
		i++;
	}
	copy[i] = '\0';
	return (copy);
}
コード例 #13
0
ファイル: ft_gpath.c プロジェクト: amoriarty/ft_sh1
char					*ft_gpath(t_sh *shell, char *cmd)
{
	char				*path;

	path = NULL;
	if (cmd[0] == '.' || cmd[0] == '~' || cmd[0] == '/')
	{
		if (cmd[0] == '.')
			path = ft_strjoin(
					ft_strjoin(getcwd(NULL, 0), "/"), ft_strchr(cmd, '/') + 1);
		if (cmd[0] == '~')
			cmd = ft_strjoin(shell->home, cmd);
	}
	else
		path = ft_fpath(shell, ft_strsub(cmd, 0, ft_len(cmd, ' ')));
	ft_vaccess(cmd, path);
	return (path);
}
コード例 #14
0
ファイル: ft_get_length_b.c プロジェクト: kbunel/ecole_42
char				*ft_itoa_printf_bin_j(uintmax_t n)
{
	long long		i;
	char			*str;

	i = ft_len(n);
	str = ft_strnew(i);
	if (str)
	{
		while (i > 0)
		{
			str[--i] = (n & 1) + 48;
			n >>= 1;
		}
		return (str);
	}
	else
		return (NULL);
コード例 #15
0
int				ft_atoi(const char *str)
{
	char	*buf;
	int		i;
	int		*sign;
	int		len;
	int		result;

	sign = (int *)malloc(sizeof(int));
	buf = (char *)str;
	buf = polarity(ft_rm_whitespace(buf), sign);
	i = 0;
	len = ft_len(buf);
	result = 0;
	while (buf[i] >= '0' && buf[i] <= '9')
	{
		result = result + (buf[i] - '0') * ft_power_ten(len - i - 1);
		i++;
	}
	return (*sign * result);
}
コード例 #16
0
ファイル: ft_itoa.c プロジェクト: Amev/42_libft
char			*ft_itoa(long long int n)
{
	size_t	len;
	size_t	sign;
	char	*dst;

	sign = 0;
	if (n < 0)
		sign = 1;
	len = ft_len(n) + sign;
	if (!(dst = (char *)malloc(sizeof(char) * len + 1)))
		return (NULL);
	dst[len--] = '\0';
	while (n > 9 || n < -9)
	{
		dst[len--] = ft_abs(n % 10) + '0';
		n = n / 10;
	}
	dst[len--] = ft_abs(n) + '0';
	if (sign == 1)
		dst[len] = '-';
	return (dst);
}