Files
ft_printf/libftprintf/ft_vprintf_hexadecimal.c

37 lines
1.3 KiB
C
Raw Normal View History

2022-04-13 08:01:46 +02:00
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_vprintf_hexadecimal.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/01/20 11:55:33 by gbaconni #+# #+# */
2022-04-26 17:53:39 +02:00
/* Updated: 2022/04/26 17:33:12 by gbaconni ### ########.fr */
2022-04-13 08:01:46 +02:00
/* */
/* ************************************************************************** */
#include "libftprintf.h"
int ft_vprintf_hexadecimal(const char *format, va_list ap)
{
int ret;
long l;
char *s;
2022-04-26 17:53:39 +02:00
char c;
int flags;
2022-04-26 17:53:39 +02:00
ret = 0;
l = va_arg(ap, long);
2022-04-26 17:53:39 +02:00
c = *format;
if (c == 'x')
s = ft_ltoa_base(l, "0123456789abcdef");
else
s = ft_ltoa_base(l, "0123456789ABCDEF");
2022-04-26 17:53:39 +02:00
flags = ft_vprintf_flags_bonus(format, ap);
if (flags & F_HASH)
ret += ft_puts("0x");
ret += ft_puts(s);
free(s);
return (ret);
2022-04-13 08:01:46 +02:00
}