Skip to content

Latest commit

 

History

History
97 lines (76 loc) · 4.29 KB

README.md

File metadata and controls

97 lines (76 loc) · 4.29 KB

Linkedin 42

AboutHow to useMandatoryBonusNorminetteContributingLicense

ABOUT

This project involved recreating the well-known C library function, printf. This provided a valuable learning opportunity in variadic arguments and structures, particularly if we intend to incorporate additional flags into our implementation of print.

HOW TO USE

1º - Clone the repository

git clone [email protected]:jotavare/ft_printf.git

2º - Enter the project folder and run make

cd ft_printf/ft_printf
make

3º - To use in your code, include the header

#include "ft_printf.h"

MAKEFILE RULES

make or make all - Compile ft_printf files.

make clean - Delete all .o (object files) files.

make fclean - Delete all .o (object files) and .a (executable) files.

make re - Use rules fclean + all.

MANDATORY

This ft_printf function supports several format specifiers, described below:

  • %c - Print a single character;
  • %s - Print a string;
  • %p - Print void * pointer argument in hexadecimal format;
  • %d - Print a decimal (base 10) number;
  • %i - Print an integer in base 10;
  • %u - Prints an unsigned decimal (base 10) number;
  • %x - Print a number in hexadecimal (base 16) lowercase format;
  • %X - Print a number in hexadecimal (base 16) uppercase format;
  • %% - Print a percentage sign;

BONUS

  • Manage any combination of the following flags: -O and the field minimum width under all conversions;
  • Manage all the following flags: # +;

NORMINETTE

At 42 School, it is expected that almost every project is written following the Norm, which is the coding standard of the school.

- No for, do...while, switch, case, goto, ternary operators, or variable-length arrays allowed;
- Each function must be a maximum of 25 lines, not counting the function's curly brackets;
- Each line must be at most 80 columns wide, with comments included;
- A function can take 4 named parameters maximum;
- No assigns and declarations in the same line (unless static);
- You can't declare more than 5 variables per function;
- ...
  • 42 Norms - Information about 42 code norms. PDF
  • Norminette - Tool to respect the code norm, made by 42. GitHub
  • 42 Header - 42 header for Vim. GitHub

CONTRIBUTING

If you find any issues or have suggestions for improvements, feel free to fork the repository and open an issue or submit a pull request.

LICENSE

This project is available under the MIT License. For further details, please refer to the LICENSE file.