From 1036380c96b3a05d6af1bafc41ff076fce66c06b Mon Sep 17 00:00:00 2001 From: lclerel- lclerel- Date: Tue, 10 Mar 2026 17:16:33 +0100 Subject: [PATCH] Exos Part 2 --- ex10/ft_putstr_non_printable.c | 40 +++++++++++++++++++++ ex7/ft_strcapitalize.c | 66 ++++++++++++++++++++++++++++++++++ ex8/ft_strlen.c | 61 +++++++++++++++++++++++++++++++ 3 files changed, 167 insertions(+) create mode 100644 ex10/ft_putstr_non_printable.c create mode 100644 ex7/ft_strcapitalize.c create mode 100644 ex8/ft_strlen.c diff --git a/ex10/ft_putstr_non_printable.c b/ex10/ft_putstr_non_printable.c new file mode 100644 index 0000000..76136b1 --- /dev/null +++ b/ex10/ft_putstr_non_printable.c @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putstr_non_printable.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: lclerel- +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2026/03/10 17:05:58 by lclerel- #+# #+# */ +/* Updated: 2026/03/10 17:14:39 by lclerel- ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_putstr_non_printable(char *str) +{ + char *base; + int i; + + i = 0; + base = "0123456789abcdef"; + while (str[i]) + { + if (str[i] >= 32 && str[i] <= 126) + write(1, &str[i], 1); + else + { + write(1, "\\", 1); + write(1, &base[(unsigned char)str[i] / 16], 1); + write(1, &base[(unsigned char)str[i] % 16], 1); + } + i++; + } +} + +int main(void) +{ + ft_putstr_non_printable("Coucou\nLumi\n:3"); + return (0); +} diff --git a/ex7/ft_strcapitalize.c b/ex7/ft_strcapitalize.c new file mode 100644 index 0000000..56ef32b --- /dev/null +++ b/ex7/ft_strcapitalize.c @@ -0,0 +1,66 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strcapitalize.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: lclerel- +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2026/03/10 14:30:14 by lclerel- #+# #+# */ +/* Updated: 2026/03/10 16:07:45 by lclerel- ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +/*void ft_putchar(char chara) +{ + write(1, &chara, 1); +} + +void ft_putstr(char *str) +{ + int i; + + i = 0; + while (str[i]) + { + ft_putchar(str[i]); + i++; + } +}*/ + +char *ft_strcapitalize(char *str) +{ + int i; + + i = 0; + while (str[i] != '\0') + { + if (str[i] >= 'A' && str[i] <= 'Z') + str[i] += 32; + if ((str[i] >= 'a' && str[i] <= 'z')) + { + if (i == 0 || !((str[i - 1] >= 'a' && str[i - 1] <= 'z') + || (str[i - 1] >= 'A' && str[i - 1] <= 'Z') + || (str[i - 1] >= '0' && str[i - 1] <= '9'))) + { + str[i] -= 32; + } + } + i++; + } + return (str); +} + +/*int main(void) +{ + char str[] = "salut, ceci-est un+test"; + + write(1, "Avant : ", 8); + ft_putstr(str); + ft_strcapitalize(str); + write(1, "\n", 1); + write(1, "Apres : ", 8); + ft_putstr(str); + write(1, "\n", 1); +}*/ diff --git a/ex8/ft_strlen.c b/ex8/ft_strlen.c new file mode 100644 index 0000000..57439c3 --- /dev/null +++ b/ex8/ft_strlen.c @@ -0,0 +1,61 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlen.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: lclerel- +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2026/03/10 16:35:32 by lclerel- #+# #+# */ +/* Updated: 2026/03/10 16:57:13 by lclerel- ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +/*void ft_putnbr(int nb) +{ + char value; + + if (nb == -2147483648) + { + write(1, "-2147483648", 11); + return ; + } + if (nb < 0) + { + write(1, "-", 1); + nb = -nb; + } + if (nb > 9) + { + ft_putnbr(nb / 10); + } + value = nb % 10 + '0'; + write(1, &value, 1); +}*/ + +int ft_strlen(char *str) +{ + int i; + + i = 0; + while (str[i] != '\0') + { + i++; + } + return (i); +} + +/*int main(void) +{ + int len; + + write(1, "Test avec TestLumi : ", 21); + len = ft_strlen("TestLumi"); + ft_putnbr(len); + write(1, "\n", 1); + write(1, "Test avec Je suis un code C : ", 30); + len = ft_strlen("Je suis un code C"); + ft_putnbr(len); + write(1, "\n", 1); +}*/