This is the first project in the 42 curriculum. The objective is to recreate various functions from the standard C library (libc) and additional functions that will be useful throughout the course.
| Function | Description |
|---|---|
| isalpha | Checks if character is alphabetic |
| isdigit | Checks if character is a digit |
| isalnum | Checks if character is alphanumeric |
| isascii | Checks if character is in ASCII table |
| isprint | Checks if character is printable |
| strlen | Calculates string length |
| memset | Fills memory with constant byte |
| bzero | Zeros a block of memory |
| memcpy | Copies memory area |
| memmove | Copies memory area (safe for overlapping) |
| strlcpy | Safely copies string |
| strlcat | Safely concatenates strings |
| toupper | Converts to uppercase |
| tolower | Converts to lowercase |
| strchr | Locates character in string |
| strrchr | Locates last character in string |
| strncmp | Compares strings |
| memchr | Searches character in memory block |
| memcmp | Compares memory blocks |
| strnstr | Locates substring |
| atoi | Converts string to integer |
| Function | Description |
|---|---|
| ft_substr | Creates substring from string |
| ft_strjoin | Concatenates two strings |
| ft_strtrim | Removes specific characters from start/end |
| ft_split | Splits string using delimiter |
| ft_itoa | Converts integer to string |
| ft_strmapi | Applies function to each string character |
| ft_striteri | Applies function to each character with index |
| ft_putchar_fd | Writes character to file descriptor |
| ft_putstr_fd | Writes string to file descriptor |
| ft_putendl_fd | Writes string with newline to fd |
| ft_putnbr_fd | Writes number to file descriptor |
- Clone the repository:
git clone https://github.com/SirAlabar/libft.git- Compile the library:
make- To use in your project, include the header and link the library:
#include "libft.h"- To compile your program with libft:
gcc your_program.c -L. -lft- All functions must comply with 42's Norm
- Global variables are not allowed
- Using forbidden functions will result in grade 0
- All files must include libft.h header
- Makefile must contain rules: all, clean, fclean and re
The project includes functions for linked list manipulation:
typedef struct s_list
{
void *content;
struct s_list *next;
} t_list;| Function | Description |
|---|---|
| ft_lstnew | Creates new node |
| ft_lstadd_front | Adds node at beginning |
| ft_lstsize | Counts number of nodes |
| ft_lstlast | Returns last node |
| ft_lstadd_back | Adds node at end |
| ft_lstdelone | Deletes content of one node |
| ft_lstclear | Deletes and frees list |
| ft_lstiter | Applies function to each node |
| ft_lstmap | Applies function and creates new list |
This project is under the MIT License. See the LICENSE file for details.
Made with β€οΈ by Alabar