_printf is a custom implementation of the C programming function printf. This project is an application of the C programming knowledge that ALx students have learned since starting the program.
Prototype: int _printf(const char *, ...);
String
- Input:
_printf("%s\n", 'This is a string.'); - Output:
This is a string.
Character
- Input:
_printf("The first letter in the alphabet is %c\n", 'A'); - Output:
The first letter in the alphabet is A
Integer
- Input:
_printf("There are %i dozens in a gross\n", 12); - Output:
There are 12 dozens in a gross
Decimal:
- Input:
_printf("%d\n", 1000); - Output:
1000
- All files will be compiled on Ubuntu 14.04 LTS
- Programs and functions will be compiled with gcc 4.8.4 using flags -Wall -Werror -Wextra and -pedantic
- Code must follow the Betty style
- Global variables are not allowed
- Authorized functions and macros:
write(man 2 write)malloc(man 3 malloc)free(man 3 free)va_start(man 3 va_start)va_end(man 3 va_end)va_copy(man 3 va_copy)va_arg(man 3 va_arg)
- Write function that produces output with conversion specifiers
c,s, and%. - Handle conversion specifiers
d,i. - Create a man page for your function.
- Handle conversion specifier
b. - Handle conversion specifiers
u,o,x,X. - Use a local buffer of 1024 chars in order to call write as little as possible.
- Handle conversion specifier
S. - Handle conversion specifier
p. - Handle flag characters
+, space, and#for non-custom conversion specifiers. - Handle length modifiers
landhfor non-custom conversion specifiers. - Handle the field width for non-custom conversion specifiers.
- Handle the precision for non-custom conversion specifiers.
- Handle the
0flag character for non-custom conversion specifiers. - Handle the custom conversion specifier
rthat prints the reversed string. - Handle the custom conversion specifier
Rthat prints the rot13'ed string. - All above options should work well together.
Rholy Rholy Nkongnyuh