Development repo for 42cursus' libft project
For further information about 42 and its projects, please go to my repositories.
Libft is the first project in the study program at School 42 (UNIT Factory).
The purpose of the project is to introduce to students standard C functions that we will be able to use in our future projects. To give a deeper understanding of functions we needed to create our own realization of standard functions.
All functions are created in accordance with Norm - the bunch of rules how code should be formatted.
NOTE!
Because of 42 School norm requirements:
- All variables are declared and aligned at the top of each function
- Each function can't have more then 25 lines of code
- C++ style code commenting is forbidden
- Project should be created just with allowed functions otherwise it's cheating.
- Standart Libc functions
- Additional functions
- Bonus part functions
ft_isascii
- test for ASCII character.ft_isalnum
- alphanumeric character test.ft_isalpha
- alphabetic character test.ft_isdigit
- decimal-digit character test.ft_isprint
- printing character test (space character inclusive).ft_tolower
- upper case to lower case letter conversion.ft_toupper
- lower case to upper case letter conversion.
ft_bzero
- write zeroes to a byte string.ft_memset
- write a byte to a byte string.ft_memchr
- locate byte in byte string.ft_memcmp
- compare byte string.ft_memmove
- copy byte string.ft_memcpy
- copy memory area.
ft_strlen
- find length of string.ft_strchr
- locate character in string (first occurrence).ft_strrchr
- locate character in string (last occurence).ft_strnstr
- locate a substring in a string (size-bounded).ft_strcmp
* - compare strings.ft_strncmp
* - compare strings (size-bounded).ft_strdup
- save a copy of a string (with malloc).ft_strlcpy
- size-bounded string copying.ft_strlcat
- size-bounded string concatenation.
ft_putchar_fd
- output a character to given file.ft_putstr_fd
- output string to given file.ft_putendl_fd
- output string to given file with newline.ft_putnbr_fd
- output integer to given file.ft_itoa
- convert integer to ASCII string.ft_substr
- extract substring from string.ft_strtrim
- trim beginning and end of string with the specified characters.ft_strjoin
- concatenate two strings into a new string (with malloc).ft_split
- split string, with specified character as delimiter, into an array of strings.ft_strmapi
- create new string from modifying string with specified function.ft_striteri
- Applies the function f to each character of the string passed as argument.
ft_lstnew
- create new list.ft_lstsize
- count elements of a list.ft_lstlast
- find last element of list.ft_lstadd_back
- add new element at end of list.ft_lstadd_front
- add new element at beginning of list.ft_lstdelone
- delete element from list.ft_lstclear
- delete sequence of elements of list from a starting point.ft_lstiter
- apply function to content of all list's elements.ft_lstmap
- apply function to content of all list's elements into new list.
Note: functions marked with * are bonus functions (not mandatory by the project's subject).
Using Makefile you can create library file libft.a
Makefile has 4 main options:
- make - to compile C files - create object files and library libft.a
- make clean - to remove object files
- make fclean - remove libft.a file
- make re - recompile the library