Proyecto desarrollado por cescobio como parte del programa formativo de 42.
Libft es el primer proyecto individual del cursus de 42Madrid. Consiste en la creación de una biblioteca propia en C, reimplementando funciones esenciales de la libc y desarrollando utilidades adicionales que servirán como base para proyectos posteriores.
Este proyecto tiene como objetivo afianzar conceptos fundamentales como:
Funcionamiento interno de funciones estándar de CGestión manual de memoriaUso avanzado de punteros y stringsDesarrollo sin depender de funciones no autorizadas
El resultado final es la librería libft.a, diseñada para ser reutilizada a lo largo de todo el cursus.
La librería se organiza por bloques funcionales para facilitar su lectura y mantenimiento.
ft_isalpha → devuelve 1 si el carácter es alfabético (a–z, A–Z)ft_isdigit → devuelve 1 si el carácter es numérico (0–9)ft_isalnum → comprueba si es letra o númeroft_isascii → comprueba si pertenece al rango ASCII (0–127)ft_isprint → comprueba si es un carácter imprimible (incluye espacio)
ft_strlen → devuelve la longitud de un string (sin \0)ft_strlcpy → copia un string con límite de tamañoft_strlcat → concatena strings con límite de tamañoft_strchr → busca la primera aparición de un carácterft_strrchr → busca la última aparición de un carácterft_strncmp → compara dos strings hasta n caracteresft_strnstr → busca un substring dentro de otro con límiteft_strdup → duplica un string reservando memoriaft_substr → extrae una subcadenaft_strjoin → concatena dos strings en uno nuevoft_strtrim → elimina caracteres al inicio y al finalft_split → divide un string en un array usando un separadorft_strmapi → aplica una función a cada carácter y devuelve un nuevo stringft_striteri → aplica una función a cada carácter modificando el original
ft_memset → rellena un bloque de memoria con un valorft_bzero → inicializa un bloque de memoria a 0``ft_memcpy → copia memoria (sin solapamiento)ft_memmove → copia memoria (con solapamiento)ft_memchr → busca un byte en memoriaft_memcmp → compara dos bloques de memoriaft_calloc → reserva memoria e inicializa a 0
ft_toupper → convierte minúscula a mayúsculaft_tolower → convierte mayúscula a minúsculaft_atoi → convierte un string a enteroft_itoa → convierte un entero a string
ft_putchar_fd → escribe un carácter en un fdft_putstr_fd → escribe un string en un fdft_putendl_fd → escribe un string seguido de salto de líneaft_putnbr_fd → escribe un número entero en un fd
ft_lstnew → crea un nuevo nodoft_lstadd_front → añade un nodo al inicio de la listaft_lstsize → devuelve el número de nodosft_lstlast → devuelve el último nodoft_lstadd_back → añade un nodo al finalft_lstdelone → elimina un nodoft_lstclear → elimina toda la listaft_lstiter → aplica una función a cada nodoft_lstmap → crea una nueva lista aplicando una función
El proyecto incluye un Makefile con las siguientes reglas:
make → compila la librería libft.a``make clean → elimina los archivos objetomake fclean → elimina objetos y la libreríamake re → limpia y recompila el proyecto
Incluye el header en tu proyecto:
#include "libft.h"Compila enlazando la librería:
gcc main.c libft.aManual de CTester Libft