SkillAgentSearch skills...

Libft

The objective of this project is to program a C library regrouping usual functions that you'll be allowed to use in all your future projects.

Install / Use

/learn @gemartin99/Libft
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

📚 Libft

Libft es el primer proyecto de la escuela 42.

✨ Descripción del proyecto

El objetivo principal de Libft es desarrollar nuestra propia biblioteca de funciones C.

📖 Descripción de funciones

1. Funciones de Manipulación de Cadenas 📏

Estas funciones son esenciales para manipular cadenas de caracteres y se basan en las funciones estándar de <string.h>:

-ft_strlen: Calcula la longitud de una cadena.

-ft_strcpy, ft_strncpy: Copia una cadena en otra.

-ft_strdup: Duplica una cadena en un nuevo bloque de memoria.

-ft_strcat, ft_strncat: Concatena cadenas.

-ft_strchr, ft_strrchr: Localiza caracteres dentro de una cadena.

-ft_strcmp, ft_strncmp: Compara cadenas de caracteres.

-ft_strstr, ft_strnstr: Encuentra subcadenas dentro de una cadena.

2. Funciones de Manipulación de Memoria 💾

Estas funciones son útiles para gestionar la memoria manualmente y se basan en funciones de <stdlib.h>:

-ft_memset: Rellena un bloque de memoria con un valor específico.

-ft_bzero: Llena con ceros un bloque de memoria.

-ft_memcpy, ft_memccpy: Copia memoria de una ubicación a otra.

-ft_memmove: Mueve un bloque de memoria.

-ft_memchr: Busca un byte en un bloque de memoria.

-ft_memcmp: Compara dos bloques de memoria.

-ft_calloc: Reserva y limpia un bloque de memoria.

3. Funciones de Conversión 🔄

Funciones que transforman datos entre distintos tipos:

-ft_atoi: Convierte una cadena en un número entero.

-ft_itoa: Convierte un número entero en una cadena.

-ft_tolower, ft_toupper: Convierte caracteres entre mayúsculas y minúsculas.

4. Funciones de Verificación de Caracteres 🔍

Estas funciones son utilizadas para verificar tipos de caracteres, similares a las de <ctype.h>:

-ft_isalpha: Verifica si el carácter es alfabético.

-ft_isdigit: Verifica si el carácter es numérico.

-ft_isalnum: Verifica si el carácter es alfanumérico.

-ft_isascii: Verifica si el carácter es ASCII.

-ft_isprint: Verifica si el carácter es imprimible.

5. Funciones Adicionales ✨

Estas funciones adicionales complementan la biblioteca básica:

-ft_substr: Crea una subcadena a partir de una cadena dada.

-ft_strjoin: Une dos cadenas en una nueva cadena.

-ft_strtrim: Elimina caracteres en blanco al inicio y final de una cadena.

-ft_split: Divide una cadena en subcadenas utilizando un delimitador.

-ft_strmapi: Aplica una función a cada carácter de una cadena, generando una nueva.

-ft_putchar_fd: Escribe un carácter en un descriptor de archivo.

-ft_putstr_fd: Escribe una cadena en un descriptor de archivo.

-ft_putendl_fd: Escribe una cadena seguida de un salto de línea en un descriptor de archivo.

-ft_putnbr_fd: Escribe un número en un descriptor de archivo.

6. 🏆 Funciones Bonus

En la parte bonus, se implementan funciones para manipular listas enlazadas, una estructura de datos que permite la inserción y eliminación dinámica de elementos:

Creación y Gestión de Listas Enlazadas:

-ft_lstnew: Crea un nuevo nodo de lista.

-ft_lstadd_front: Añade un nodo al inicio de la lista.

-ft_lstadd_back: Añade un nodo al final de la lista.

-ft_lstsize: Calcula el número de nodos en una lista.

-ft_lstlast: Devuelve el último nodo de la lista.

-ft_lstdelone: Elimina un nodo de la lista sin liberar la lista entera.

-ft_lstclear: Elimina todos los nodos de la lista y libera la memoria.

-ft_lstiter: Aplica una función a cada nodo de la lista.

-ft_lstmap: Crea una nueva lista aplicando una función a cada nodo.

⚙️ Compilación

Para compilar la biblioteca, clona este repositorio y ejecuta el comando:

make

🎯 Objetivos de Aprendizaje

🔍 Programación en C sin librerías externas.

🧩 Estructuración y optimización de código.

💡 Gestión de memoria y creación de estructuras de datos.

Autor ✍🏼

<table> <tr> <td align="center"><a href="https://github.com/gemartin99/"><img src="https://avatars.githubusercontent.com/u/66915274?v=4" width="100px;" alt="100px"/><br /><sub><b>gemartin</b></sub></a><br /><a href="https://profile.intra.42.fr/users/gemartin" title="Intra 42"><img src="https://img.shields.io/badge/Barcelona-FFFFFF?style=plastic&logo=42&logoColor=000000" alt="Intra 42"/></a></td> </tr> </table>

Quizás pueda interesarte!

- Para ver mi progresion en el common core 42 ↙️

AQUÍ

- Mi perfil en la intranet de 42 ↙️

AQUÍ

- Contacto 📥

◦ Email: gemartin@student.42barcelona.com

◦ Linkedin: https://www.linkedin.com/in/gemartin99/

View on GitHub
GitHub Stars17
CategoryEducation
Updated3mo ago
Forks1

Languages

C

Security Score

77/100

Audited on Dec 19, 2025

No findings