Skip to content

crlscb/printf

Repository files navigation

Este proyecto ha sido creado como parte del currículo de 42 por cescobio.

***++

Descripción

Printf es el segundo proyecto individual del cursus de 42Madrid. Se trata de una reimplementación de la función estándar printf del lenguaje C. El objetivo del proyecto es comprender en profundidad:

  • El funcionamiento de las funciones variádicas
  • El manejo de especficadores de formato
  • La escritura en bajo nivel mediante write
  • La gestión de tipos y memoria en C.

Esta implementación reproduce el comportamiento esperado de printf para los especificadores solicitados, gestionando correctamente casos límite como punteros o cadenas nulas para evitar comportamientos indefinidos.

La funcion devuelve el número total de caracteres impresos, al igual que la implementación original.

El proyecto se entrega en forma de biblioteca estática llamada libftprintf.a, diseñada para ser reutilizada en otros proyectos en C.

Estructura implementada

  • ft_printf.c
    • Recorre la cadena
    • Detecta el carácter %
    • Delega el procesamiento al móulo de formateo
  • ft_format.c
    • Recibe el especificador de formato
    • Determina que función invocar
  • Funciones de impresión por tipo
    • %c : imprime un carácter → ft_print_char.c
    • %s : imprime una cadena (manejo de NULL → (null)) → ft_print_string.c
    • %p : imprime una dirección de memoria → ft_print_pointer.c
    • %d / %i : imprime enteros con signo → ft_print_int.c
    • %u : imprime enteros sin signo → ft_print_unsigned.c
    • %x : imprime números hexadecimales en minúsculas → ft_print_hex.c
    • %X : imprime números hexadecimales en mayúsculas → ft_print_hex_upper.c
    • %% : imprime el símbolo %

Instrucciones

Compilación

Para compilar la librería, ejecutar:

make

Esto generará el archivo libftprintf.a.

Limpieza

Eliminar los archivos objeto generados durante la compilación:

make clean

Eliminar los archivos objeto y la librería:

make fclean

Recompilar completamente el proyecto:

make re

Uso

Incluir el archivo de cabecera en el código:

#include "ft_printf.h"

Compilar el programa enlazando la librería:

cc main.c -L. -lftprintf

Ejemplo

ft_printf("ft_printf devuelve: %s %d\n", "hola", 4);

Recursos

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors