Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/acensjj/libft

Ce premier projet en tant qu'étudiant de 42 va vous faire consolider vos acquis de piscine. Vous allez recoder un certain nombre de fonctions de la librairie C standard, ainsi que d'autres fonctions utilitaires que vous réutiliserez tout au long de votre cursus.
https://github.com/acensjj/libft

42 42born2code c libft

Last synced: about 7 hours ago
JSON representation

Ce premier projet en tant qu'étudiant de 42 va vous faire consolider vos acquis de piscine. Vous allez recoder un certain nombre de fonctions de la librairie C standard, ainsi que d'autres fonctions utilitaires que vous réutiliserez tout au long de votre cursus.

Awesome Lists containing this project

README

        


42-lyon

# libft

Note

### Description

Ce premier projet en tant qu'étudiant de 42 va vous faire consolider vos acquis de piscine. Vous allez
recoder un certain nombre de fonctions de la librairie C standard, ainsi que d'autres fonctions utilitaires
que vous réutiliserez tout au long de votre cursus.


make

# Regles

```
make (re, clean, fclean, bonus)
```

# II.2 Part 1 - Fonctions de la libc

Vous devez recoder les fonctions suivantes. Ces fonctions ne nécessitent aucune fonction externe :

- `memset`
- `bzero`
- `memcpy`
- `memccpy`
- `memmove`
- `memchr`
- `memcmp`
- `strlen`
- `isalpha`
- `isdigit`
- `isalnum`
- `isascii`
- `isprint`
- `toupper`
- `tolower`
- `strchr`
- `strrchr`
- `strncmp`
- `strlcpy`
- `strlcat`
- `strnstr`
- `atoi`

Vous devez également recoder ces fonctions, en faisant appel à la fonction “malloc” :

- `calloc`
- `strdup`

# II.3 Part 2 - Fonctions supplémentaires

Dans cette seconde partie, vous devrez coder un certain nombre de fonctions absentes
de la libc ou présentes dans une forme différente. Certaines de ces fonctions peuvent
avoir de l’intéret pour faciliter l’écriture des fonctions de la première partie.

- `ft_substr`
- `ft_strjoin`
- `ft_strtrim`
- `ft_split`
- `ft_itoa`
- `ft_strmapi`
- `ft_putchar_fd`
- `ft_putstr_fd`
- `ft_putendl_fd`
- `ft_putnbr_fd`

# Partie bonus

Si vous avez réussi parfaitement la partie obligatoire, cette section propose quelques
pistes pour aller plus loin. Un peu comme quand vous achetez un DLC pour un jeu vidéo.

Avoir des fonctions de manipulation de mémoire brute et de chaînes de caractères est
très pratique, mais vous vous rendrez vite compte qu’avoir des fonctions de manipulation
de liste est encore plus pratique.

Vous utiliserez la structure suivante pour représenter les maillons de votre liste. Cette
structure est à ajouter à votre fichier libft.h.

make bonus vous permettra d’ajouter les fonctions demandées dans votre librairie
libft.a

Vous ne devez pas rajouter _bonus à la fin des fichiers .c et des headers de cette
partie ne rajoutez _bonus que sur des fichiers supplémentaires que vous auriez fait pour
les bonus seulement.

```
typedef struct s_list
{
void *content;
struct s_list *next;
} t_list;
```

La description des champs de la structure t_list est la suivante :
- `content` : La donnée contenue dans le maillon. Le void * permet de stocker une donnée de n’importe quel type.
- `next` : L’adresse du maillon suivant de la liste ou NULL si le maillon est le dernier

Les fonctions suivantes vous permettront de manipuler vos listes aisément.
- `ft_lstnew`
- `ft_lstadd_front`
- `ft_lstsize`
- `ft_lstlast`
- `ft_lstadd_back`
- `ft_lstdelone`
- `ft_lstclear`
- `ft_lstiter`
- `ft_lstmap`