putnbrbase_fd
This commit is contained in:
41
ft_putnbrbase_fd.c
Normal file
41
ft_putnbrbase_fd.c
Normal file
@ -0,0 +1,41 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_putnbrbase_fd.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* 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);
|
||||
}
|
6
libft.h
6
libft.h
@ -6,7 +6,7 @@
|
||||
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* 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
|
BIN
libft.h.gch
Normal file
BIN
libft.h.gch
Normal file
Binary file not shown.
Reference in New Issue
Block a user