diff --git a/ft_putnbrbase_fd.c b/ft_putnbrbase_fd.c new file mode 100644 index 0000000..3014595 --- /dev/null +++ b/ft_putnbrbase_fd.c @@ -0,0 +1,41 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putnbrbase_fd.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/11/18 10:57:44 by adjoly #+# #+# */ +/* Updated: 2023/11/18 11:07:59 by adjoly ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +void ft_putnbrbase_fd(int n, char *base, int fd) +{ + unsigned int nbr; + size_t base_len; + + base_len = ft_strlen(base); + if (n < 0) + { + write(fd, "-", 1); + nbr = -n; + } + else + nbr = n; + if (nbr < base_len) + write(fd, &base[nbr % base_len], 1); + else + { + ft_putnbrbase_fd(nbr / base_len, base, fd); + write(fd, &base[nbr % base_len], 1); + } +} + +int main(int ac, char **av) +{ + (void)ac; + ft_putnbrbase_fd(ft_atoi(av[1]), "0123456789abcdef", 1); +} diff --git a/libft.h b/libft.h index a0eb4aa..05532d7 100644 --- a/libft.h +++ b/libft.h @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/11/01 10:06:03 by adjoly #+# #+# */ -/* Updated: 2023/11/18 10:51:18 by adjoly ### ########.fr */ +/* Updated: 2023/11/18 11:02:29 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -33,7 +33,6 @@ void ft_bzero(void *s, size_t n); void *ft_memset(void *s, int c, size_t n); void *ft_memmove(void *dest, const void *src, size_t n); void *ft_memcpy(void *dest, const void *src, size_t n); -void ft_putchar(char c); void ft_putchar_fd(char c, int fd); void ft_putnbr_fd(int n, int fd); char *ft_strdup(const char *s); @@ -71,4 +70,7 @@ void ft_lstclear(t_list **lst, void (*del)(void *)); void ft_lstiter(t_list *lst, void (*f)(void *)); t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)); +void ft_putchar(char c); +void ft_putnbrbase_fd(int n, char *base, int fd); + #endif \ No newline at end of file diff --git a/libft.h.gch b/libft.h.gch new file mode 100644 index 0000000..5f74ba7 Binary files /dev/null and b/libft.h.gch differ