le but de ce projet est de réécrire des fonctions qui existe en C, pour les comprendre, revoir les bases de C et travailler sont algo
Où toutes vos fonctions seront écrites.
Inclure #include "libft.h"
dans tous les fichiers.c afin d’avoir aux fonctions incluse (custom, lib C ou autres) partouT.
Makefile, fichier pour compiler le projet.
-
ft_isalpha
- vérifie sic
est un caractère est alphabétique ou non (a-z ou A-Z).
int isalpha(int c);
return 1 (true) ou 0 (false)
-
ft_isdigit
- vérifie sic
est un chiffre (0 à 9).
int isdigit(int c)
return 1 (true) ou 0 (false)
-
ft_isalnum
- vérifie sic
est un caractere alphanumérique.
int isalnum(int c);
return 1 (true) ou 0 (false)
-
ft_isascii
- vérifie sic
rentre dans le jeu de caractères ASCII.
int isascii(int c);
return 1 (true) ou 0 (false)
-
ft_isprint
- vérifie sic
est un caractère imprimable.
int isprint(int c);
return 1 (true) ou 0 (false)
-
ft_toupper
- vérifie et convertie si besoin le caracterec
de lettre minuscule à une lettre majuscule.
int toupper(int c);
return c
-
ft_tolower
- vérifie et convertie si besoin le caracterec
de lettre majuscule à une lettre minuscule.
int ft_tolower(int c);
return c
-
ft_memset
- permet de remplir une zone mémoire, identifiée par son adresse (*b
) et sa taille (len
), avec une valeur précise (c
).
void *ft_memset(void *b, int c, size_t len);
-
ft_strlen
- calculer la longueur, exprimée en nombre de caractères, de la chaîne de caractèresstr
renvoie la longueur de la chaîne, \0
non compris.
size_t ft_strlen(const char *str)
return str_size
-
ft_bzero
- met à 0 lesn
premiers octets du bloc pointé par*s
.
void ft_bzero(void *s, size_t n)
-
ft_strlcpy
- copier le contenustr
dansdest
, copier surdstsize - 1
caractères\0
final non compris et terminant le résultat par\0
.
Renvoie la longueur totale de la chaîne qu'elle a tenté de créer.
size_t ft_strlcpy(char *dst, const char *src, size_t dstsize);
return size
-
ft_strlcat
- ajoutedstsize - 1
caractères à la fin destr
dansdest
, caractères\0
final non compris et terminant le résultat par\0
.
Renvoie la longueur totale de la chaîne qu'elle a tenté de créer.
size_t ft_strlcat(char *dst, const char *src, size_t dstsize)
return size
-
ft_strchr
- recherche la première occurrence du caractèrec
dans la chaîne de caractères*s
.
Renvoie un pointeur sur la première occurrence du caractère ou NULL si le caractère n'est pas présent
char *ft_strchr(const char *s, int c)
return *c ou NULL
-
ft_strrchr
- rechercher un caractèrec
dans une chaînes
.
Renvoie un pointeur sur la première occurrence du caractère ou NULL si le caractère n'est pas présent
char *ft_strrchr(const char *s, int c);
return *c ou NULL
-
ft_strnstr
- localise la première occurrence d'une sous-chaîneneedle
dans une chaînehaystack
surlen
caractère.
Renvoi renvoir un sur la premierire occurence trouver
char *ft_strnstr(const char *haystack, const char *needle, size_t len);
return *c ou NULL
-
ft_strdup
- dupliquer une chaîne de caractères en lui allouant une nouvelle zone de mémoire.
Renvoie l'adresse de la chaîne dupliquée, s'il y a suffisament de mémoire pour produire la nouvelle chaîne sinon NULL
char *ft_strnstr(const char *haystack, const char *needle, size_t len);
return *x ou NULL
-
ft_strncmp
- comparer deux chaînes de caractères, caractères par caractères, selon la valeurs numérique des codes ASCII (ou Unicode, selon l'encodage utilisé).
Renvoi une valeur nulle si les deux chaînes sont égales; une valeur négative si le caractères de la première chaîne est plus petite que celui la seconde (dans l'ordre lexicographique); une valeur positive si le caractères de la première chaîne est plus grande que la seconde
int ft_strncmp(const char *s1, const char *s2, size_t n);
return *x ou NULL
-
ft_memchr
- Recherche la première occurence d'une valeur typée int, mais interprétée en tant que char, dans un bloc de mémoire.
void *ft_memchr(const void *str, int c, size_t n);
return *x ou NULL
-
ft_memcmp
- compare les zones mémoire de la meme maniere questrchr
.
int ft_memcmp(const void *pointer1, const void *pointer2, size_t size);
return *x ou NULL
-
ft_memcpy
- copien
octets depuis la zone mémoiresrc
vers la zone mémoiredest
. Les deux zones ne doivent pas se chevaucher. Si c'est le cas, utilisez plutôtft_memmove
void *ft_memcpy(void *dst, const void *src, size_t n)
-
ft_memmove
- copielen
octets depuis la zone mémoiresrc
vers la zone mémoiredest
. Les deux zones peuvent se chevaucher
void *ft_memmove(void *dst, const void *src, size_t len)
-
ft_atoi
- ( ASCII to integer) convertit une chaîne de caractères représentant une valeur entière, en une valeur numérique de type int.
Retourne la valeur int produite
int ft_atoi(char *str)
return nb
-
ft_calloc
- alloue de la mémoire pourcount
élément consecutifs, de typesize
et définit les valeurs de ses octets sur 0.
Retourne un pointeur vers la zone memeoire reserve ou NULL si count
ou size
vaut 0.
void *ft_calloc(size_t count, size_t size)
return (void *) element ou NULL
-
ft_substr
- Alloue et retourne une chaîne de caractères issue de la chaînes
, commencant à l’indexstart
et a pour taille maximalelen
.
char *ft_substr(char const *s, unsigned int start, size_t len)
return str
-
ft_strjoin
- Alloue et retourne une nouvelle chaîne, résultat de la concaténation des1
ets2
.
char *ft_strjoin(char const *s1, char const *s2)
return s1s2
-
ft_strtrim
- Alloue et retourne une copie de la chaînes1
, sans les caractères spécifiés present dansset
au début et à la fin de la chaîne de caractères.
char *ft_strtrim(char const *s1, char const *set)
return str
-
ft_split
- Alloue et retourne un tableau de chaînes de caractères obtenu en séparants
à l’aide du caractèrec
, utilisé comme délimiteur. Le tableau doit être terminé parNULL
.
char **ft_split(char const *s, char sep)
return (char **)tab
-
ft_itoa
- ( integer to ASCII = inverse atoi) Alloue et retourne une chaîne de caractères représentant l’entiern
reçu en argument. Les nombres négatifs doivent être gérés.
char *ft_itoa(int n)
return str
-
ft_strmapi
- Applique la fonctionf
à chaque caractère de la chaîne de caractères passée en argument pour créer une nouvelle chaîne de caractères résultant des applications successives def
.
char *ft_strmapi(char const *s, char (*f)(unsigned int, char));
return str
-
ft_striteri
- Applique la fonctionf
à chaque caractère de la chaîne de caractères transmise comme argument, et en passant son index comme premier argument. Chaque caractère est transmis par adresse àf
afin d’être modifié si nécessaire.
void ft_striteri(char *s, void (*f)(unsigned int, char*));
-
ft_putchar_fd
- Écrit le caractèresc
sur le descripteur de fichierfd
.
void ft_putchar_fd(char c, int fd);
-
ft_putstr_fd
- Écrit la chaîne de caractèress
sur le descripteur de fichierfd
.
void ft_putstr_fd(char *s, int fd);
-
ft_putendl_fd
- Écrit La chaîne de caractèress
sur le descripteur de fichierfd
suivie d’un retour à la ligne
void ft_putendl_fd(char *s, int fd);
-
ft_putnbr_fd
- Écrit l’entiern
sur le descripteur de fichierfd
.
void ft_putnbr_fd(int n, int fd);
- compilateur
gcc
-
Gerer le fichier de lib
.a
: Dans le terminal au niveau dans le dossier libft lancer la commandemake
-
utiliser les fonctions de la bibliothèquelibft dans son code :
incluez le fichier d'en-tête
#include "libft.h"
Testeurs tiers permettant de tester le projet :
La francinette contient les testeur citer ci-dessus et d'autres