- Rigor
- Imperative programming
- Algorithms & AI
The aim of this project is to code my own C Library, that will be used along the 42 course.
- Firstly, I made my own version of some useful functions from libc, that was considered the first part of the project.
- Secondly, It was asked to code functions that were not included in the original libc, most of the functions would help us to deal with strings.
- Lastly, I made functions to deal with linked lists. That was the first time I've ever dealt with data structures other than arrays.
- After the project was done I could include any functions I wanted but I had to made them from skratch.
# Clone the repository
https://github.com/adrianofaus/Projects_42_School.git
# Access the folder
cd Projects_42_School/1.Libft
# Run the makefile
make
# Header of libft
Add the libft.h header
# Compile your program with the library
clang main.c libft.a
# Execute the resulted binary
./a.out
# Clean binary and object file
make fclean
# Clean object files
make clean
# Re-compile
make re
Functions | Description |
---|---|
ft_isalpha | checks for an alphabetic character. |
ft_isdigit | checks for a digit (0 through 9). |
ft_isalnum | checks for an alphanumeric character; it is equivalent to (isalpha(c)) |
ft_isascii | checks whether c is a 7-bit unsigned char value that fits into the ASCII character set. |
ft_isprint | checks for any printable character including space. |
ft_toupper | convert lowercase letters to uppercase |
ft_tolower | convert uppercase letters to lowercase. |
Functions | Description |
---|---|
ft_memset | fills the first n bytes of the memory area pointed to by s with the constant byte c. |
ft_bzero | erases the data in the n bytes of the memory starting at the location pointed to by s, by writing zeros (bytes containing '\0') to that area. |
ft_memcpy | copies n bytes from memory area src to memory area dest. The memory areas must not overlap. Use memmove(3) if the memory areas do overlap. |
ft_memmove | copies n bytes from memory area src to memory area dest. |
ft_memchr | scans the initial n bytes of the memory area pointed to by s for the first instance of c. |
ft_memcmp | function compares the first n bytes (each interpreted as unsigned char) of the memory areas s1 and s2. |
ft_strlen | The ft_strlen() function computes and returns the length of the string s. |
ft_strlcpy | copies up to size - 1 characters from the NUL-terminated string src to dst, NUL-terminating the result. |
ft_strlcat | appends the NUL-terminated string src to the end of dst. It will append at most size - strlen(dst) - 1 bytes, NUL-terminating the result. |
ft_strchr | returns a pointer to the first occurrence of the character c in the string s. |
ft_strrchr | returns a pointer to the last occurrence of the character c in the string s. |
ft_strnstr | locates the first occurrence of the null-terminated string little in the string big, where not more than len characters are searched. |
ft_strncmp | compares only the first (at most) n bytes of s1 and s2 |
ft_strdup | returns a pointer to a new string which is a duplicate of the string s. |
Functions | Description |
---|---|
ft_atoi | converts the initial portion of the string pointed to by nptr to int. |
ft_calloc | allocates memory for an array of nmemb elements of size bytes each and returns a pointer to the allocated memory. The memory is set to zero. |
Functions | Description |
---|---|
ft_substr | Allocates and returns a substring from the string ’s’. The substring begins at index ’start’ and is of maximum size ’len’. |
ft_strjoin | Allocates and returns a new string, which is the result of the concatenation of ’s1’ and ’s2’. |
ft_strtrim | Allocates and returns a copy of ’s1’ with the characters specified in ’set’ removed from the beginning and the end of the string. |
ft_split | Allocates and returns an array of strings obtained by splitting ’s’ using the character ’c’ as a delimiter. The array must be ended by a NULL pointer. |
ft_itoa | Allocates and returns a string representing the integer received as an argument. Negative numbers must be handled. |
ft_strmapi | Applies the function ’f’ to each character of the string ’s’ to create a new string (with malloc(3)) resulting from successive applications of ’f’. |
Functions | Description |
---|---|
ft_putchar_fd | Outputs the character ’c’ to the given file descriptor. |
ft_putstr_fd | Outputs the string ’s’ to the given file descriptor. |
ft_putendl_fd | Outputs the string ’s’ to the given file descriptor, followed by a newline. |
ft_putnbr_fd | Outputs the integer ’n’ to the given file descriptor. |
Functions | Description |
---|---|
ft_lstnew | Allocates and returns a new element. The variable ’content’ is initialized with the value of the parameter ’content’. The variable ’next’ is initialized to NULL. |
ft_lstadd_front | Adds the element ’new’ at the beginning of the list. |
ft_lstsize | Counts the number of elements in a list. |
ft_lstlast | Returns the last element of the list. |
ft_lstadd_back | Adds the element ’new’ at the end of the list. |
ft_lstdelone | Takes as a parameter an element and frees the memory of the element’s content using the function ’del’ given as a parameter and free the element. The memory of ’next’ must not be freed. |
ft_lstclear | Deletes and frees the given element and every successor of that element, using the function ’del’ and free(3). Finally, the pointer to the list must be set to NULL. |
ft_lstiter | Iterates the list ’lst’ and applies the function ’f’ to the content of each element. |
ft_lstmap | Iterates the list ’lst’ and applies the function ’f’ to the content of each element. Creates a new list resulting of the successive applications of the function ’f’. The ’del’ function is used to delete the content of an element if needed. |