removed README from the repo
This commit is contained in:
parent
faa2c1ef2b
commit
a203ec9581
68
README.md
68
README.md
@ -1,68 +0,0 @@
|
|||||||
# 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
|
|
||||||
|
|
||||||
```%[$][flags][width][.precision][length modifier]conversion```
|
|
||||||
|
|
||||||
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.
|
|
||||||
- '-' The converted value is to be left adjusted on the field
|
|
||||||
boundary. (The default is right justification.) The
|
|
||||||
converted value is padded on the right with blanks
|
|
||||||
- '0' The value should be zero padded. For d, i, o, u, x, X, a,
|
|
||||||
A, e, E, f, F, g, and G conversions, the converted value
|
|
||||||
is padded on the left with zeros rather than blanks.
|
|
||||||
|
|
||||||
- '.' precision
|
|
||||||
|
|
||||||
• Manage all the following flags: ’# +’ (Yes, one of them is a space)
|
|
||||||
- '#' For x and X conversions, a nonzero result has the string
|
|
||||||
"0x" (or "0X" for X conversions) prepended to it.
|
|
||||||
- ' ' (a space) A blank should be left before a positive number
|
|
||||||
(or empty string) produced by a signed conversion.
|
|
||||||
- '+' A sign (+ or -) should always be placed before a number
|
|
||||||
produced by a signed conversion.
|
|
||||||
|
|
||||||
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.
|
|
||||||
Loading…
Reference in New Issue
Block a user