commit 99b4568dbd2a8f1e4dd9aac1b1ef5835b5511a9e Author: Willem Haffmans Date: Fri Sep 20 20:06:00 2024 +0000 made README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..ea98149 --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# ft_printf + +## Mandatory part + +Program name: libftprintf.a +Turn in files: Makefile, *.h, */*.h, *.c, */*.c +Makefile: NAME, all, clean, fclean, re +External functs: malloc, free, write, + va_start, va_arg, va_copy, va_end +Libft authorized: Yes +Description: Write a library that contains ft_printf(), a + function that will mimic the original printf() + +You have to recode the printf() function from libc. + +The prototype of ft_printf() is: +int ft_printf(const char *, ...); + +### Here are the requirements: +• Don’t implement the buffer management of the original printf(). + +• Your function has to handle the following conversions: + cspdiuxX% + +• Your function will be compared against the original printf(). + +• You must use the command ar to create your library. +Using the libtool command is forbidden. + +• Your libftprintf.a has to be created at the root of your repository. +5 + +You have to implement the following conversions: +• %c Prints a single character. +• %s Prints a string (as defined by the common C convention). +• %p The void * pointer argument has to be printed in hexadecimal format. +• %d Prints a decimal (base 10) number. +• %i Prints an integer in base 10. +• %u Prints an unsigned decimal (base 10) number. +• %x Prints a number in hexadecimal (base 16) lowercase format. +• %X Prints a number in hexadecimal (base 16) uppercase format. +• %% Prints a percent sign. + +## Bonus +• Manage any combination of the following flags: ’-0.’ and the field minimum width +under all conversions. +• Manage all the following flags: ’# +’ (Yes, one of them is a space) + +If you plan to complete the bonus part, think about the +implementation of your extra features from the start. This way, +you will avoid the pitfalls of a naive approach.