Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abdellahbellakrim/libft
https://github.com/abdellahbellakrim/libft
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/abdellahbellakrim/libft
- Owner: AbdellahBellakrim
- Created: 2022-02-02T16:18:01.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-11-22T19:44:27.000Z (12 months ago)
- Last Synced: 2023-11-22T21:33:38.483Z (12 months ago)
- Language: C
- Size: 1.52 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Libft - Your Very First Own C Library
## Table of Contents
- [Introduction](#introduction)
- [Common Instructions](#common-instructions)
- [Mandatory Part](#mandatory-part)
- [Technical Considerations](#technical-considerations)
- [Part 1 - Libc Functions](#part-1---libc-functions)
- [Part 2 - Additional Functions](#part-2---additional-functions)
- [Bonus Part](#bonus-part)## Introduction
Libft is a C programming project aimed at creating a custom C library containing a set of general-purpose functions. The goal is to understand and implement functions similar to those found in the standard C library (libc). This library will serve as a foundation for future C school assignments.
## Common Instructions
- **Language:** The project must be written in C.
- **Norm Compliance:** Ensure that your code complies with the Norm.
- **Functionality:** Functions should not quit unexpectedly, and memory must be properly managed to avoid leaks.
- **Makefile:** Provide a Makefile with rules for compiling and cleaning the project.
- **Testing:** Create test programs to validate your functions.## Mandatory Part
### Technical Considerations
- Declaring global variables is forbidden.
- Use static functions for helper functions.
- Place all files at the root of your repository.
- Unused files are not allowed.
- Compilation flags: -Wall -Wextra -Werror.
- Use the `ar` command to create your library.### Part 1 - Libc Functions
Implement libc functions with the 'ft_' prefix. Some functions include:
- isalpha
- isdigit
- strlen
- memcpy
- strchr
- atoi### Part 2 - Additional Functions
Implement custom functions such as:
- `ft_substr`
- `ft_strjoin`
- `ft_strtrim`
- `ft_split`
- `ft_itoa`
- and more...## Bonus Part
Expand your library to include functions for manipulating linked lists using the `t_list` structure.
Functions to implement include:
- `ft_lstnew`
- `ft_lstadd_front`
- `ft_lstsize`
- `ft_lstlast`
- `ft_lstadd_back`
- `ft_lstdelone`
- `ft_lstclear`
- `ft_lstiter`
- `ft_lstmap`