From 500c4516b1c5694c5d9e6ccf04bb5235e9c5fe80 Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Mon, 25 Nov 2019 13:52:27 +0100 Subject: [PATCH] mise a jour functions strtrim strmapi et substr --- srcs/part2/a.out | Bin 8552 -> 8560 bytes srcs/part2/ft_strmapi.c | 57 +++++++++++++++++++++++++---------- srcs/part2/ft_strtrim.c | 65 ++++++++++++++++++++++++++-------------- srcs/part2/ft_substr.c | 32 ++++++++++++-------- 4 files changed, 103 insertions(+), 51 deletions(-) diff --git a/srcs/part2/a.out b/srcs/part2/a.out index fd70839e1a3eee6f753d20ca5cde96bcbd7873c1..ece242762731d9f9ce5b53ea90a6a897d09bc93a 100755 GIT binary patch delta 682 zcmZ8f&ui2`6n^POjpA<7ElLk7WWiDeg%oW?Y&BFyX2A+o_8_H*3Iz`q*)||TSV|N+ zjzUT~H82ElUs@tr2CoPk9jBEL=WfBiM&Fh~}FB2hf|rdg0POr~+s! z(*uE~o-lsD_Se6)&Q;$0P?F=n3fBW$J+G94N9wimGFE9=brQ`$^Uc1o+JvUSJ$A=N<;hh;=Q%+LKA8OLu24!wUSvx+2m!RCmTyv0-t@w}N-VG6o zxU&_D?IWV7f{3IzikXJE@Yw9x4=!Aja>uI&ofd&b{aR&R@>G^#On2-cr(y z5eY;z#}$?voBhbGe0}eqbD~7u%y|u zTOCR4j8_H^KD}A$e_1HJDR$Kxrjrqm39@rrJd-SNKSXsw;t*3Qu8LnIM`@Gtmfo=S zh7rzwaTQpW5{tVg2qzx}6?H~$~qO!ko{ zv-PUsg_e#{EN9H#MC}Fs#?Tui&+t1yeZNeH_=d&<>;W_0rAHR!_5x@cX4YqBtSO%Q zgPWEfFl(}I=s`rD?gW5>>Bm(n~jpY6YBA9?3IXf rSJ{>Q^A_7d%NW1%`xT~O!^GEG2R7I}8|>rGS0yX*f=*^n8pVDAi+}b^ diff --git a/srcs/part2/ft_strmapi.c b/srcs/part2/ft_strmapi.c index d9fb527..6b04fa9 100644 --- a/srcs/part2/ft_strmapi.c +++ b/srcs/part2/ft_strmapi.c @@ -1,31 +1,58 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strmapi.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: hulamy +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2018/11/14 21:18:03 by hulamy #+# #+# */ -/* Updated: 2019/03/25 15:28:21 by hulamy ### ########.fr */ -/* */ -/* ************************************************************************** */ - /* -** create a new array with the result of function f -** on every element of s by index i +** create a new array with the result of function f on every element of +** s by index i */ +/* +** #include +** +** size_t ft_strlen(const char *str) +** { +** size_t i; +** +** i = 0; +** while (str[i]) +** i++; +** return (i); +** } +** char touppercase(unsigned int i, char c) +** { +** if (i < 3) +** c -= 32; +** return (c); +** } +** +** char *ft_strmapi(char const *s, char (*f)(unsigned int, char)); +** +** int main(int ac, char **av) +** { +** char *str; +** char touppercase(unsigned int, char); +** +** if (ac != 2) +** return (0); +** str = av[1]; +** printf("%s\n",str); +** str = ft_strmapi(str, touppercase); +** printf("%s\n",str); +** return (0); +** } +*/ + #include "libft.h" char *ft_strmapi(char const *s, char (*f)(unsigned int, char)) { char *str; int i; + int size; if (!s) return (NULL); - if (!(str = ft_strnew(ft_strlen(s)))) + size = ft_strlen(s); + if (!(str = (char *)malloc(sizeof(char) * (size + 1)))) return (NULL); + str[size] = '\0'; i = -1; while (s[++i]) str[i] = f(i, s[i]); diff --git a/srcs/part2/ft_strtrim.c b/srcs/part2/ft_strtrim.c index 6767eaf..46a345d 100644 --- a/srcs/part2/ft_strtrim.c +++ b/srcs/part2/ft_strtrim.c @@ -1,15 +1,3 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strtrim.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: hulamy +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/19 17:26:06 by hulamy #+# #+# */ -/* Updated: 2019/11/19 18:15:32 by hulamy ### ########.fr */ -/* */ -/* ************************************************************************** */ - /* ** create a copy of s without the firsts and lasts empty characters */ @@ -17,6 +5,47 @@ /* ** #include ** +** char *ft_substr(char const *s, unsigned int start, size_t len) +** { +** char *str; +** size_t i; +** +** if (!s) +** return (NULL); +** if (!(str = (char *)malloc(sizeof(char) * (len + 1)))) +** return (NULL); +** str[len] = '\0'; +** i = 0; +** while (i < len) +** str[i++] = s[start++]; +** return (str); +** } +** +** size_t ft_strlen(const char *str) +** { +** size_t i; +** +** i = 0; +** while (str[i]) +** i++; +** return (i); +** } +** +** char *ft_strchr(const char *s, int c) +** { +** int i; +** int j; +** +** i = 0; +** j = -1; +** while (s[i]) +** i++; +** while (++j < i + 1) +** if (s[j] == c) +** return ((char *)s + j); +** return (NULL); +** } +** ** char *ft_strtrim(char const *s1, char const *set); ** ** int main(int ac, char **av) @@ -34,7 +63,6 @@ char *ft_strtrim(char const *s1, char const *set) { int len; char *str; - (void)set; if (!s1) return (NULL); @@ -44,16 +72,7 @@ char *ft_strtrim(char const *s1, char const *set) while (len >= 0 && ft_strchr(set, s1[len])) len--; len++; - if (!(str = ft_strsub(s1, 0, len))) + if (!(str = ft_substr(s1, 0, len))) return (NULL); return (str); } - - - - - - - - - diff --git a/srcs/part2/ft_substr.c b/srcs/part2/ft_substr.c index 2e76ab2..7d9d90b 100644 --- a/srcs/part2/ft_substr.c +++ b/srcs/part2/ft_substr.c @@ -1,19 +1,24 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_substr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: hulamy +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/11/19 17:20:51 by hulamy #+# #+# */ -/* Updated: 2019/11/19 17:24:10 by hulamy ### ########.fr */ -/* */ -/* ************************************************************************** */ - /* ** create a copy of a portion of s, begining at start and of length len */ +/* +** #include +** +** char *ft_substr(char const *s, unsigned int start, size_t len); +** +** int main(int ac, char **av) +** { +** char *str; +** +** if (ac != 4) +** return (0); +** str = ft_substr(av[1], atoi(av[2]), atoi(av[3])); +** printf("%s\n",str); +** return (0); +** } +*/ + #include "libft.h" char *ft_substr(char const *s, unsigned int start, size_t len) @@ -23,8 +28,9 @@ char *ft_substr(char const *s, unsigned int start, size_t len) if (!s) return (NULL); - if (!(str = ft_strnew(len))) + if (!(str = (char *)malloc(sizeof(char) * (len + 1)))) return (NULL); + str[len] = '\0'; i = 0; while (i < len) str[i++] = s[start++];