aboutsummaryrefslogtreecommitdiff
path: root/ft_printf.c
diff options
context:
space:
mode:
authorCabergs Charles <cacharle@e-r5-p7.s19.be>2019-10-09 12:36:59 +0200
committerCabergs Charles <cacharle@e-r5-p7.s19.be>2019-10-09 12:36:59 +0200
commite1e7e692a26ab68dca25ea02ff8bed72c3c12e8e (patch)
tree77721db671c769c4b1caf86621d3580eea3cd97c /ft_printf.c
parent8f3e1c37b67ae18ece6140e497e48139c43f8253 (diff)
downloadft_printf-e1e7e692a26ab68dca25ea02ff8bed72c3c12e8e.tar.gz
ft_printf-e1e7e692a26ab68dca25ea02ff8bed72c3c12e8e.tar.bz2
ft_printf-e1e7e692a26ab68dca25ea02ff8bed72c3c12e8e.zip
Added hexdecimal support
Diffstat (limited to 'ft_printf.c')
-rw-r--r--ft_printf.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/ft_printf.c b/ft_printf.c
index 9817e6c..c7bc473 100644
--- a/ft_printf.c
+++ b/ft_printf.c
@@ -7,6 +7,9 @@ int ft_printf(const char *format, ...)
{
int i;
va_list ap;
+ /* char *convertions_flags; */
+
+ /* convertions_flags = "cspdiuxX%"; */
va_start(ap, format);
i = -1;
@@ -23,7 +26,8 @@ int ft_printf(const char *format, ...)
ft_putstr(va_arg(ap, char*));
break;
case 'p':
- print_addr(va_arg(ap, void*));
+ ft_putstr("0x");
+ PUTXNBR(va_arg(ap, int));
break;
case 'd':
ft_putnbr(va_arg(ap, int));
@@ -35,9 +39,15 @@ int ft_printf(const char *format, ...)
ft_putunbr(va_arg(ap, unsigned int));
break;
case 'x':
- ft_putxnbr(va_arg(ap, int));
+ ft_putstr("0x");
+ PUTXNBR(va_arg(ap, int));
break;
case 'X':
+ ft_putstr("0x");
+ PUTXMAJNBR(va_arg(ap, int));
+ break;
+ case '%':
+ ft_putchar('%');
break;
}
}
@@ -50,6 +60,6 @@ int ft_printf(const char *format, ...)
int main()
{
- ft_printf("bonjour\n");
+ ft_printf("b%conjo %X ur%p\n", 'r', 0xec54, NULL);
return 0;
}