Skip to content

Libft is a project at Codam where I rebuild some core C functions from scratch — the same ones the standard library gives you. Later on, I’ll use this collection as the foundation for bigger, more advanced programs.

License

Notifications You must be signed in to change notification settings

salembaha/libft_practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

🧠 Libft Practice – Standard C Library, Forty-Two

Welkom,

Dit project is mijn persoonlijke implementatie van een selectie uit de C Standard Library functies — opgebouwd vanaf nul, in de terminal, met alleen Vim, en met de focus op begrip, geheugencontrole en veiligheid.


📚 Wat is Libft?

Libft is een individueel project bij Codam/42 waarbij je een eigen versie moet schrijven van veelgebruikte functies uit de C-standaardbibliotheek. Denk aan functies voor strings, geheugen, conversie en meer.

Deze library vormt een basis voor latere, complexere projecten zoals get_next_line, ft_printf en uiteindelijk zelfs een shell of webserver.


🎯 Doelen

  • ✅ Begrijpen hoe C écht werkt, op laag niveau
  • ✅ Leren omgaan met geheugenbeheer, pointers en allocatie
  • ✅ Werken vanuit de command line en met Vim
  • ✅ Bouwen aan robuuste, veilige en herbruikbare code
  • ✅ Alles zelf doen: testen, debuggen, en optimaliseren
  • ✅ Mijn eigen tools ontwikkelen voor pentesting en automatisering

⚙️ Werken met dit project

Volg deze stappen:

# Project clonen
git clone https://github.com/<jouw-gebruikersnaam>/libft_practice.git && cd libft_practice/

# Library bouwen
make

# Bonus (linked lists)
make bonus

# Compileer je eigen testbestand met de library
clang main.c libft.a

# Run je programma
./a.out

# Alles opruimen
make fclean

🧪 Hoe ik test

Alle functies zijn standalone te testen met een eigen main.c.
Ik schrijf testbestanden per functie in de tests/ map, en compileer zoals:

gcc -Wall -Wextra -Werror src/ft_strlen.c tests/main_strlen.c -o test_strlen

---

## 🧩 Library Overzicht (voor mezelf en toekomstige devs)

| C Library | Libft Functie | Beschrijving |
|----------|----------------|---------------|
| `<ctype.h>` | `ft_isalpha`, `ft_isdigit`, ... | Karakter checks |
| `<string.h>` | `ft_memset`, `ft_strchr`, ... | Geheugen en stringbewerking |
| `<stdlib.h>` | `ft_atoi`, `ft_calloc`, ... | Conversie en allocatie |
| Niet-standaard | `ft_split`, `ft_itoa`, `ft_strtrim`, ... | Extra functies voor reusability |
| Bonus | `ft_lst*` | Linked list manipulatie |
| Persoonlijk | `ft_str_replace`, `ft_uitoa_base`, ... | Mijn eigen tools voor future projects |

---

## 🔒 Waarom dit project belangrijk is voor mijn toekomst

- Het leert me **C begrijpen
- Het dwingt me na te denken over **buffer overflows**, **null terminators**, en **pointer safety**
- Het vormt de technische basis voor toekomstige projecten zoals exploit development, tool building en cybersecurity advies

---

## 🚧 Status

Ik werk elke week aan dit project. Nieuwe functies, testcases en optimalisaties worden regelmatig toegevoegd.  

---

## 📜 Licentie

Dit project valt onder de GNU General Public License v3.0 – zie het LICENSE-bestand voor details.

---

About

Libft is a project at Codam where I rebuild some core C functions from scratch — the same ones the standard library gives you. Later on, I’ll use this collection as the foundation for bigger, more advanced programs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages