ft_printf/README.md
2024-09-20 20:06:00 +00:00

52 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.