sync
This commit is contained in:
42
C_Piscine_C_04/git/ex04/ft_putnbr_base.c
Normal file
42
C_Piscine_C_04/git/ex04/ft_putnbr_base.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_putnbr_base.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: gbaconni <marvin@42lausanne.ch> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2021/08/16 13:51:16 by gbaconni #+# #+# */
|
||||
/* Updated: 2021/08/16 14:25:07 by gbaconni ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|
||||
void ft_putnbr_base(int nbr, char *base)
|
||||
{
|
||||
int size;
|
||||
|
||||
size = 0;
|
||||
while (base[++size] != '\0')
|
||||
continue ;
|
||||
if (nbr < 0)
|
||||
{
|
||||
nbr *= -1;
|
||||
write(1, "-", 1);
|
||||
}
|
||||
if (nbr >= 0 && nbr < size)
|
||||
{
|
||||
write(1, base + nbr, 1);
|
||||
}
|
||||
else if (nbr == -2147483648)
|
||||
{
|
||||
ft_putnbr_base((nbr / size) * -1, base);
|
||||
ft_putnbr_base((nbr % size) * -1, base);
|
||||
}
|
||||
else
|
||||
{
|
||||
ft_putnbr_base(nbr / size, base);
|
||||
ft_putnbr_base(nbr % size, base);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user