made README.md

This commit is contained in:
Willem Haffmans 2024-09-20 20:06:00 +00:00
commit 99b4568dbd

51
README.md Normal file
View File

@ -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:
• Dont 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.