From bc23537688fb4474a9528daf29a84d5bc929b53e Mon Sep 17 00:00:00 2001 From: Hugo LAMY Date: Wed, 27 Nov 2019 20:45:22 +0100 Subject: [PATCH] fixe substr quand start commence apres la fin de s --- srcs/part2/.ft_split.c.swp | Bin 0 -> 12288 bytes srcs/part2/a.out | Bin 8560 -> 8640 bytes srcs/part2/ft_split.c | 59 ++++++++++++++++++++++++++++++++++++- srcs/part2/ft_substr.c | 8 +++-- 4 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 srcs/part2/.ft_split.c.swp diff --git a/srcs/part2/.ft_split.c.swp b/srcs/part2/.ft_split.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..d1ef2c13acac8f5e12afa7f8260a7b71d5ddc93c GIT binary patch literal 12288 zcmeI2O^g&p6vqpRVk`JbVqzkBI~&-Uo@IJwc2O8ULhz&l2^zR81L^JQVG3t@Cfz-| zE(;hEKcWW{H8C0w8WO$A#R~zCMq|);F&N|5O=2Pmo;Chob=A!5f=G}HN%iKpUDZ|n z>b?JaRfKHMmJd9&hc=fg0@njV{P^upb-K7xd~jZfR=@3c7I@(LS2z_{dykiEWc;mT4)t-s^VEDqt13Sq1uObK~YUVyapxvx)KC z7(M*Z{+qRC-?Iu>1*`&A0jq#jz$#!BunJfOZbJpq-U{&|{Jul`KCka9mfdyN-mC&v z0jq#jz$#!BunJfOtO8a6tAJI&Dqt134HfVkLVUeah|lkY^Z5I}`TzeX_X}|dtO4il z6XJRBDEM-X5HElU@ZD-5UIs6LQ(y{|fd?kRBVaA~<6a>yfgiv{Z~>eJXTXQxeefa1wdhj6l^By671s{XAz^mX0cm`|+8^9P?2d+3mTm~1wS@0?N2)qa00k44* z;23CvL*QAk6Z~?w5MP1w;52vxM4$-{fPG*u*aK={3vj?H@b@bC39f)k;Aij+_zau{ zXTaOwb?^$92Yrx&-Qa1k6;we1tOJjMwO}>)>n_9vPJ=hWDR2^WfCP0g4GLf-xQv|s z4t@jQgD-%}^KDqC)@7@JRbYt%Cq^#e#9`WxBg*@6>@O6y3P&|&j@D^AmC-#R9EBtC zKvI#~VMH6Lf+5GuEf#q;e~s0jP0~1@Op=`BiEIxSTE(Jj&bMScqi0b=uGu8S`xvr-qn38LEM1Di|WD>~e z2!;GjB0U#2DC$NO%cP&6+fRC7)R0LM<_3%M3RtvaR%EfU>$12P^&N$b{Rw}!(-g<0 zLQ_Q(WR9w~n{Y>ssggr>Sb}WKg%GO0$Pd+c$Cpult}7c#D$g4}M2q}D*B$C~&Mc~I z{db`nKbGbb9_UP|#PNwSaj=}}uM(w_iKod7YAQ~V*(?HGnv%Auvqv2mYKBhoP_tq2 z=re!?$c}-m5X^SJ`V3Gf02jU4@%-wb7IQi6Ive9^N@L8;Ck6PVT+!ubcIWct6QiKR z$Iju@S&|%B8|Eg<7q5|>rQBC_mYoItD3M1ZR2C;mEsc$!Y^w8CSHM!`rFK3$CO9y& z+efy_Kt)wG+GOUYsu}G#Z*m=dc0eirxV%h=gZ;e?`#UJLb_mbaJDjvWenjfjf9nYJkOgBJ1WOHCZa93u};W`hCw2_+%E{Pojrtc-dtxwq^h96~U73om1Ef3M-E zVWURXa%GEGsd&{V(5y{Q)vB9lc7d|bn@1KNA0I~#ztx4WqxG0E_+%U|Gq{N=)3tKB zR++k{K^iZzMRU{U=;lH$!kGSnA+!eOh6Z;n)J$00I(|GSqn+wA?;Rs^N1Dn=v1Tld z*fb%JOun%uTN_%0pW3=HX#Pzo1vh37vued!Hdi;Yn=yF9W=1F0YQ`j5d|~i^85}ik O+L^&ywo$O@Jn;{cfW8<2 literal 0 HcmV?d00001 diff --git a/srcs/part2/a.out b/srcs/part2/a.out index ece242762731d9f9ce5b53ea90a6a897d09bc93a..0afc9e1cc4122f017ed90bd9b7b2b7ae85b3ef19 100755 GIT binary patch literal 8640 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 +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/11/25 14:00:13 by hulamy #+# #+# */ -/* Updated: 2019/11/26 16:18:35 by hulamy ### ########.fr */ +/* Updated: 2019/11/27 20:43:25 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,6 +14,63 @@ ** return an array of string with each word found in str, with c as separator */ +/* +** #include +** +** size_t ft_strlen(const char *str) +** { +** size_t i; +** +** i = 0; +** while (str[i]) +** i++; +** return (i); +** } +** +** char *ft_substr(char const *s, unsigned int start, size_t len) +** { +** char *str; +** size_t i; +** +** if (!s) +** return (NULL); +** if (ft_strlen(s) < start) +** return (""); +** if (!(str = (char *)malloc(sizeof(char) * (len + 1)))) +** return (NULL); +** i = 0; +** while (i < len && s[start]) +** str[i++] = s[start++]; +** str[i] = '\0'; +** return (str); +** } +** +** char **ft_split(char const *s, char c); +** +** //int main(int ac, char **av) +** int main(void) +** { +** char **str; +** int i; +** +** char *s; +** char c; +** +** // if (ac == 3) +** // { +** i = 0; +** // s = av[1]; +** s = "lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse"; +** // c = av[2][0]; +** c = ' '; +** str = ft_split(s, c); +** while (str[i]) +** printf("%s\n", str[i++]); +** // } +** return (0); +** } +*/ + #include "libft.h" static int ft_count_word(char const *s, char c) diff --git a/srcs/part2/ft_substr.c b/srcs/part2/ft_substr.c index feb16ff..3ea3480 100644 --- a/srcs/part2/ft_substr.c +++ b/srcs/part2/ft_substr.c @@ -6,7 +6,7 @@ /* By: hulamy +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/11/25 14:01:58 by hulamy #+# #+# */ -/* Updated: 2019/11/26 16:18:25 by hulamy ### ########.fr */ +/* Updated: 2019/11/27 19:54:09 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ @@ -40,11 +40,13 @@ char *ft_substr(char const *s, unsigned int start, size_t len) if (!s) return (NULL); + if (ft_strlen(s) < start) + return (""); if (!(str = (char *)malloc(sizeof(char) * (len + 1)))) return (NULL); - str[len] = '\0'; i = 0; - while (i < len) + while (i < len && s[start]) str[i++] = s[start++]; + str[i] = '\0'; return (str); }