The libft
project is part of the School 42 curriculum, aimed at reinforcing your understanding of fundamental C programming concepts. The goal of this project is to recreate a standard library of functions, similar to those found in libc
, which will be used in future projects.
The libft
library provides a collection of standard C functions that can be reused across various projects. These functions include string manipulation, memory management, list operations, and other utility functions.
- Language: The project is implemented in C.
- Function Categories:
- String Manipulation: Functions to handle and manipulate C strings.
- Memory Management: Functions for dynamic memory allocation and manipulation.
- Character Checks: Functions to check character types and convert cases.
- List Operations: Functions to manage linked lists.
- Utility Functions: Miscellaneous helper functions.
- Headers:
#include <stdlib.h>
: For memory allocation.#include <unistd.h>
: For input/output operations.#include <string.h>
: For string manipulation.#include <ctype.h>
: For character type checks and conversions.
- String Manipulation:
- Functions such as
ft_strlen
,ft_strcpy
,ft_strncpy
,ft_strcat
,ft_strncat
,ft_strdup
, and others to handle various string operations.
- Functions such as
- Memory Management:
- Functions like
ft_memset
,ft_bzero
,ft_memcpy
,ft_memccpy
,ft_memmove
,ft_memchr
,ft_memcmp
, and memory allocation wrappers such asft_calloc
.
- Functions like
- Character Checks and Conversions:
- Functions such as
ft_isalpha
,ft_isdigit
,ft_isalnum
,ft_isascii
,ft_isprint
,ft_toupper
,ft_tolower
.
- Functions such as
- List Operations:
- Functions to create and manipulate linked lists, including
ft_lstnew
,ft_lstadd_front
,ft_lstsize
,ft_lstlast
,ft_lstadd_back
,ft_lstdelone
,ft_lstclear
,ft_lstiter
, andft_lstmap
.
- Functions to create and manipulate linked lists, including
- Utility Functions:
- Additional helper functions such as
ft_atoi
,ft_itoa
, and others.
- Additional helper functions such as
This project is fundamental for building a strong foundation in C programming and serves as a useful library for future projects at School 42.