From 03b4d8a03fb1b2cf93aaac0dc9d317ff9c2ba705 Mon Sep 17 00:00:00 2001 From: Charles Date: Mon, 8 Jul 2019 12:12:58 +0200 Subject: c05/c06 normed, c07/c08 begining --- c07/ex03/ft_strjoin.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 c07/ex03/ft_strjoin.c (limited to 'c07/ex03') diff --git a/c07/ex03/ft_strjoin.c b/c07/ex03/ft_strjoin.c new file mode 100644 index 0000000..1264000 --- /dev/null +++ b/c07/ex03/ft_strjoin.c @@ -0,0 +1,72 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strjoin.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/07 16:14:25 by cacharle #+# #+# */ +/* Updated: 2019/07/08 11:08:00 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +int my_strlen(char *str) +{ + int i; + + i = 0; + while(str[i]) + i++; + return (i); +} + +int cummulative_strlen(int size, char **strs) +{ + int i; + int len; + + len = 0; + i = 0; + while (size > 0) + { + i = 0; + while (strs[size - 1][i]) + { + i++; + len++; + } + size--; + } + return (len); +} + +char *ft_strjoin(int size, char **strs, char *sep) +{ + int i; + int j; + int k; + int l; + char *join; + + join = (char*)malloc(sizeof(char) * (cummulative_strlen(size, strs) + + my_strlen(sep) * (size - 1))); + j = 0; + l = 0; + while (l < size) + { + i = 0; + while (strs[l][i]) + { + join[j] = strs[l][i]; + i++; + j++; + } + k = 0; + while (l != size - 1 && sep[k]) + join[j++] = sep[k++]; + l++; + } + return (join); +} -- cgit