1
0
libft_new/print/printf/ft_putnbrbase.c

48 lines
1.5 KiB
C
Raw Normal View History

2023-11-18 11:10:16 +01:00
/* ************************************************************************** */
/* */
/* ::: :::::::: */
2024-02-04 15:11:02 +01:00
/* ft_putnbrbase.c :+: :+: :+: */
2023-11-18 11:10:16 +01:00
/* +:+ +:+ +:+ */
2024-02-04 15:26:48 +01:00
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
2023-11-18 11:10:16 +01:00
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/18 10:57:44 by adjoly #+# #+# */
2024-02-04 15:26:48 +01:00
/* Updated: 2024/02/04 15:21:56 by adjoly ### ########.fr */
2023-11-18 11:10:16 +01:00
/* */
/* ************************************************************************** */
2024-02-04 15:11:02 +01:00
#include "ft_printf.h"
2023-11-18 11:10:16 +01:00
2024-02-04 15:26:48 +01:00
int ft_putnbrbase_pf(unsigned int n, char *base)
2023-11-18 11:10:16 +01:00
{
2024-02-04 15:11:02 +01:00
unsigned int base_len;
int len;
2023-11-18 11:10:16 +01:00
2024-02-04 15:11:02 +01:00
len = 0;
base_len = (int)ft_strlen(base);
if (n < base_len)
len += write(1, &base[n % base_len], 1);
else
2023-11-18 11:10:16 +01:00
{
2024-02-04 15:26:48 +01:00
len += ft_putnbrbase_pf(n / base_len, base);
2024-02-04 15:11:02 +01:00
len += write(1, &base[n % base_len], 1);
2023-11-18 11:10:16 +01:00
}
2024-02-04 15:11:02 +01:00
return (len);
}
int ft_putnbrbase_p(unsigned long int n, char *base)
{
unsigned long int base_len;
int len;
len = 0;
base_len = (int)ft_strlen(base);
if (n < base_len)
len += write(1, &base[n % base_len], 1);
2023-11-18 11:10:16 +01:00
else
{
2024-02-04 15:11:02 +01:00
len += ft_putnbrbase_p(n / base_len, base);
len += write(1, &base[n % base_len], 1);
2023-11-18 11:10:16 +01:00
}
2024-02-04 15:11:02 +01:00
return (len);
2023-11-18 11:10:16 +01:00
}