- This is the printf Group Project that I will be working on together with Bunmi Akinola in creating our own printf function.
- We will be both contributing an Equal as possible == 40/60 contribution from respective partners using their own usernames.
- This is what is called pair programming.
0. I'm not going anywhere. You can print that wherever you want to. I'm here and I'm a Spur for life
- mandatory
- Write a function that produces output according to a format.
- Prototype: int _printf(const char *format, ...);
- Returns: the number of characters printed (excluding the null byte used to end output to strings)
- write output to stdout, the standard output stream
- format is a character string. The format string is composed of zero or more directives. See man 3 printf for more detail. You need to handle the following conversion specifiers:
- c
- s
- %
- You don’t have to reproduce the buffer handling of the C library printf function
- You don’t have to handle the flag characters
- You don’t have to handle field width
- You don’t have to handle precision
- You don’t have to handle the length modifiers
- mandatory
- Handle the following conversion specifiers:
- d
- i
- You don’t have to handle the flag characters
- You don’t have to handle field width
- You don’t have to handle precision
- You don’t have to handle the length modifiers
- advanced
- Handle the following custom conversion specifiers:
- b: the unsigned int argument is converted to binary
- advanced
- Handle the following conversion specifiers:
- u
- o
- x
- X
- You don’t have to handle the flag characters
- You don’t have to handle field width
- You don’t have to handle precision
- You don’t have to handle the length modifiers
- advanced
- Use a local buffer of 1024 chars in order to call write as little as possible.
- advanced
- Handle the following custom conversion specifier:
- S : prints the string.
- Non printable characters (0 < ASCII value < 32 or >= 127) are printed this way: \x, followed by the ASCII code value in hexadecimal (upper case - always 2 characters)
6. How is the world ruled and led to war? Diplomats lie to journalists and believe these lies when they see them in print
- advanced
- Handle the following conversion specifier: p.
- You don’t have to handle the flag characters
- You don’t have to handle field width
- You don’t have to handle precision
- You don’t have to handle the length modifiers
- advanced
- Handle the following flag characters for non-custom conversion specifiers:
-
- space
- advanced
- Handle the following length modifiers for non-custom conversion specifiers:
- l
- h
- Conversion specifiers to handle: d, i, u, o, x, X
- advanced
- Handle the field width for non-custom conversion specifiers.
- advanced
- Handle the precision for non-custom conversion specifiers.
- advanced
- Handle the 0 flag character for non-custom conversion specifiers.
12. Every time that I wanted to give up, if I saw an interesting textile, print what ever, suddenly I would see a collection
- advanced
- Handle the - flag character for non-custom conversion specifiers.
- advanced
- Handle the following custom conversion specifier:
- r : prints the reversed string
- advanced
- Handle the following custom conversion specifier:
- R: prints the rot13'ed string
- advanced
- All the above options work well together.