Skip to content

Recreating the essence of the printf function, this project offers a faithful reproduction of its behavior in the C programming language. Delve into the intricacies of string formatting, variable arguments, and the core mechanisms that make printf a versatile tool.

Notifications You must be signed in to change notification settings

amaitou/ft_printf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Quotation-Aristotle-Be-a-free-thinker-and-don-t-accept-everything-you-139-75-05


Ft_printf

This is the second project of the 42Cursus.
The goal of this project is pretty straightforward. recoding printf() (not the whole function).

Note: I haven't shared the PDF of this project, as well as, I haven't explained anything due to school privacy reasons!

This project consists of two parts:

  • Mandatory part
  • Bonus Part

Note: The Bonus Part is not that necessary to validate the project, but it gives some extra XPs and days for the The Blackhole.


Project Structure

|____.gitignore
|____includes
| |____ft_printf.h
|____Makefile
|____README.md
|____sources
| |____ft_printf.c
| |____ft_printhex.c
| |____ft_putchar.c
| |____ft_putsigned.c
| |____ft_putstr.c
| |____ft_putunsigned.c

Mandatory Part

To implement your own printf() you need to go over each one of these string formats:

  • %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.

What are variadic functions

To have this project done you must learn a new C Concept which is Variadic Functions.

in C Programming Language function takes a known number of params to deal with, but what if we want to pass an unknown number of params and let the function handle all of them? it's cool right :)?

with Variadic Functions this problem would be fixed.

Here is how to declare a Variadic Function that takes a variable number of params:

void variadic_function(char *s, ...)

let's break this example down so we can see what this weird function does.

first of all, this function returns nothing, the first parameter is a string but the second one ... is something to declare to the function that we are about to accept a variable number of params.

learn more about Variadic Functions via Variadic Functions in c


Things you will learn in this project

Variadic Functions

Number System Conversion

Implementation of your own printf() function

Makefile

How to use printf() properly

Pointers


Contact Me

About

Recreating the essence of the printf function, this project offers a faithful reproduction of its behavior in the C programming language. Delve into the intricacies of string formatting, variable arguments, and the core mechanisms that make printf a versatile tool.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published