Libft is a personal implementation of essential C functions that you typically find in the C Standard Library. This project is designed to strengthen your understanding of low-level memory management, string manipulation, and linked list operations.
This library provides a collection of fundamental functions to assist with common tasks like:
- Memory management (
ft_bzero
,ft_memset
,ft_memcpy
, etc.) - String manipulation (
ft_strjoin
,ft_strlen
,ft_strchr
, etc.) - Character validation (
ft_isdigit
,ft_isalpha
,ft_isprint
, etc.) - Linked list operations (
ft_lstadd_back
,ft_lstsize
,ft_lstclear
, etc.)
The goal was not only to implement these functions but to also delve deeper into memory management, pointer manipulation, and structure handling in C.
Through this project, I learned and strengthened the following skills:
- Memory Management: How to allocate and manipulate memory in C using custom functions like
ft_malloc
andft_calloc
. - String Handling: Writing efficient string functions to parse, compare, and manipulate strings, like
ft_strjoin
,ft_strlcpy
, andft_strtrim
. - Linked Lists: Implementing linked list operations from scratch to manage dynamic data structures.
- Edge Case Handling: Dealing with various edge cases like empty strings, NULL pointers, and invalid inputs to ensure the robustness of each function.
- C Syntax and Structuring: Improving overall C syntax, organization, and best practices for creating a reusable library.
This project reinforced the importance of careful memory management and the value of understanding basic data structures. It has provided me with a solid foundation for handling more complex C-based tasks in future projects.