8000 GitHub - Terrynyam/printf · GitHub
[go: up one dir, main page]

Skip to content

Terrynyam/printf

Repository files navigation

_printf

_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 *, ...);

Examples

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

Project Requirements

  • 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)

Mandatory Tasks

  • Write function that produces output with conversion specifiers c, s, and %.
  • Handle conversion specifiers d, i.
  • Create a man page for your function.

Advanced Tasks

  • 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 l and h for non-custom conversion specifiers.
  • Handle the field width for non-custom conversion specifiers.
  • Handle the precision for non-custom conversion specifiers.
  • Handle the 0 flag character for non-custom conversion specifiers.
  • Handle the custom conversion specifier r that prints the reversed string.
  • Handle the custom conversion specifier R that prints the rot13'ed string.
  • All above options should work well together.

Authors

Terrance Nyamufukudza

Rholy Rholy Nkongnyuh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

0