From 7da4868c86e6ec922567721cc46da89d43acb6a4 Mon Sep 17 00:00:00 2001 From: Guy Baconniere Date: Fri, 20 Aug 2021 10:02:48 +0200 Subject: [PATCH] sync --- C_07/c-07.tar | Bin 13824 -> 13312 bytes C_07/git/ex03/ft_strjoin.c | 58 ++++++++++++++++++++++++++++--------- C_07/git/ex03/main.c | 14 +++++---- 3 files changed, 52 insertions(+), 20 deletions(-) diff --git a/C_07/c-07.tar b/C_07/c-07.tar index 2f61c773334fcd822d31a9e1c9f363c30d634369..8c786029919993ec975127c93a0092a3c76623e5 100644 GIT binary patch delta 518 zcmYLGU2D`p6g70+lB_~%3${|_8m!Gnv(99a4Vx-b@Z&|_g>{jbChU~#?2^e+u@s8! zyWqV0yZ~FkLm-Z!>jEBu zFZK<+%IifXaN_J6r%JnXp!^#@*8Y&E={xXY%7vrM^{?MI&dpmv%%WD+Ai~$Gis*k; zFIIX10WwTjm_$sy>OA}VA0%YByzD&C)KBM0C!3^|^4(pU&ryqIp%z(J66mdZ`@2yRqQ?2xccDTS6{kon@2Ou;I(MTh|K4E zP~~z_*6QwR^r?Tb#RArbf)}Du+?*;1qJN?2rq-*b;1`hgXNy{yhN}(?XB9AKx1Xsa Q<6f^V(L5K+k7RW9H?%2n!Xs&BWT;?hVrXD)Vqj=uVya+ZXlh_=z@T6-Igv4CGo$2rmdO_cWstB{+Sr>UT=U^qEgcJp@fI`J3Ma7d3Y6&wNnVL;DWYb_$Hk_QuCc+IAjt1${){dR*z$VG0Y=m9d7$nS# zq*~K@vWd1k3rO$e8f`UYjkJ<@pe0%PKp)2B6{QxJ=9E~)}-eSf{IxUl16hv5&!jAJl)8Y?$ECB4OXBhwh diff --git a/C_07/git/ex03/ft_strjoin.c b/C_07/git/ex03/ft_strjoin.c index adcc951..7efd106 100644 --- a/C_07/git/ex03/ft_strjoin.c +++ b/C_07/git/ex03/ft_strjoin.c @@ -6,7 +6,7 @@ /* By: gbaconni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/19 11:25:51 by gbaconni #+# #+# */ -/* Updated: 2021/08/19 17:54:51 by gbaconni ### ########.fr */ +/* Updated: 2021/08/20 09:52:49 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,8 +19,40 @@ static int ft_strlen(char *str) int len; len = 0; - while (str[len++] != '\0') - continue ; + while (str[len] != '\0') + len++; + return (len); +} + +char *ft_strcat(char *dest, char *src) +{ + char *s1; + char *s2; + + s1 = dest; + s2 = src; + while (*s1 != '\0') + s1++; + while (*s2 != '\0') + *s1++ = *s2++; + *s1 = '\0'; + return (dest); +} + +int ft_strslen(int size, char **strs, char *sep) +{ + int len; + int i; + + len = 1; + i = 0; + while (i < size) + { + len += ft_strlen(strs[i]); + if (i < size - 1) + len += ft_strlen(sep); + i++; + } return (len); } @@ -30,20 +62,18 @@ char *ft_strjoin(int size, char **strs, char *sep) int len; int i; - len = 0; - len = strlen(sep); - printf("strlen %d", len); - len = 0; - len = ft_strlen(sep); - printf("ft_strlen %d", len); - len = 0; + if (strs == NULL) + return (NULL); + len = ft_strslen(size, strs, sep); + str = (char *) malloc(len * sizeof(char)); i = 0; while (i < size) { - len += ft_strlen(strs[i]) - 1; - len += ft_strlen(sep) - 1; + ft_strcat(str, strs[i]); + if (i < size - 1) + ft_strcat(str, sep); + i++; } - printf("len=%d\n", len); - str = (char *) malloc(len * sizeof(char)); + strs[i] = "\0"; return (str); } diff --git a/C_07/git/ex03/main.c b/C_07/git/ex03/main.c index ebe984d..dd29822 100644 --- a/C_07/git/ex03/main.c +++ b/C_07/git/ex03/main.c @@ -5,8 +5,8 @@ /* +:+ +:+ +:+ */ /* By: gbaconni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ -/* Created: 2021/08/19 11:11:01 by gbaconni #+# #+# */ -/* Updated: 2021/08/19 18:28:17 by gbaconni ### ########.fr */ +/* Created: 2021/08/20 09:34:53 by gbaconni #+# #+# */ +/* Updated: 2021/08/20 09:36:09 by gbaconni ### ########.fr */ /* */ /* ************************************************************************** */ @@ -25,16 +25,18 @@ int main(void) char *result; sep = ""; - strs = malloc(3 * sizeof(strs)); + strs = malloc(3 * sizeof(*strs)); + sep = (char *) malloc(32 * sizeof(char)); i = 0; while (i < 3) { - printf("Input String #%d: ", i + 1); - scanf("%s", strs++); + strs[i] = (char *) malloc(32 * sizeof(char)); + printf("Input String #%d [Max 31]: ", i + 1); + scanf("%s", strs[i++]); } printf("Input Separator: "); scanf("%s", sep); result = ft_strjoin(i, strs, sep); - printf("result=%s sep=%s (ft_strjoin)\nresult:\n", result, sep); + printf("size=%d sep=%s result=%s (ft_strjoin)\n", i, sep, result); return (0); }