Libft - Proyecto de 42
Libft es un proyecto de la escuela 42 que tiene como objetivo crear una biblioteca personalizada en C, replicando y ampliando las funciones estandar de la biblioteca de C (libc). Este README detalla las funciones implementadas, sus propositos y caracteristicas clave.
Contenido
- Funciones de la Parte 1 - Funciones Libc
- Funciones de la Parte 2 - Funciones Adicionales
- Funciones Bonus
- Compilacion y Uso
- Contacto
Parte 1 - Funciones Libc
Estas funciones replican el comportamiento de funciones estandar de la biblioteca de C:
-
Memoria:
- ft_memset: Rellena un bloque de memoria con un byte especifico.
- ft_bzero: Establece un bloque de memoria a cero.
- ft_memcpy: Copia datos de un bloque de memoria a otro.
- ft_memccpy: Copia datos hasta un caracter especifico.
- ft_memmove: Copia bloques de memoria que podrian solaparse.
- ft_memchr: Busca un byte especifico en un bloque de memoria.
- ft_memcmp: Compara dos bloques de memoria.
-
Cadenas de caracteres:
- ft_strlen: Calcula la longitud de una cadena.
- ft_strdup: Duplica una cadena.
- ft_strlcpy: Copia hasta un numero especifico de caracteres de una cadena.
- ft_strlcat: Concatenacion con un limite.
- ft_strchr: Encuentra un caracter en una cadena.
- ft_strrchr: Encuentra un caracter en una cadena (ultima aparicion).
- ft_strnstr: Encuentra una subcadena limitada por un tamano.
- ft_strncmp: Compara cadenas hasta un numero de caracteres.
-
Conversion:
- ft_atoi: Convierte una cadena a un entero.
-
Caracteres individuales:
- ft_isalpha: Comprueba si es un caracter alfabetico.
- ft_isdigit: Comprueba si es un digito.
- ft_isalnum: Comprueba si es alfanumerico.
- ft_isascii: Comprueba si pertenece al ASCII.
- ft_isprint: Comprueba si es un caracter imprimible.
- ft_toupper: Convierte un caracter a mayuscula.
- ft_tolower: Convierte un caracter a minuscula.
Parte 2 - Funciones Adicionales
Estas funciones no son parte de la libc pero son utiles para el desarrollo:
-
Manipulacion de cadenas:
- ft_substr: Extrae una subcadena.
- ft_strjoin: Combina dos cadenas en una.
- ft_strtrim: Elimina caracteres especificos al principio y al final de una cadena.
- ft_split: Divide una cadena segun un delimitador.
-
Conversion:
- ft_itoa: Convierte un numero entero a una cadena.
-
Otras utilidades:
- ft_putchar_fd: Escribe un caracter 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 linea.
- ft_putnbr_fd: Escribe un numero en un descriptor de archivo.
Bonus
Se implementan funciones relacionadas con listas enlazadas:
- ft_lstnew: Crea un nuevo nodo.
- ft_lstadd_front: Anade un nodo al inicio de la lista.
- ft_lstadd_back: Anade un nodo al final de la lista.
- ft_lstdelone: Elimina un nodo especifico.
- ft_lstclear: Elimina todos los nodos de la lista.
- ft_lstiter: Aplica una funcion a cada nodo.
- ft_lstmap: Crea una nueva lista aplicando una funcion a cada nodo de la original.
Compilacion y Uso
Para compilar la biblioteca:
make bonus
Esto generara un archivo libft.a que puedes incluir en tus proyectos con:
Compila tus archivos junto con la biblioteca:
Contacto
Autor: Daniel Alvarez
Pagina web: www.danipoal.com