aboutsummaryrefslogtreecommitdiff
path: root/c07/ex03
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-07-08 12:12:58 +0200
committerCharles <sircharlesaze@gmail.com>2019-07-08 12:12:58 +0200
commit03b4d8a03fb1b2cf93aaac0dc9d317ff9c2ba705 (patch)
tree5888339d16bd74b1cd14a63b8c5ecf39fb9091f2 /c07/ex03
parenta2ef228b981df5ad417a0e8377e1e832002a7644 (diff)
downloadpiscine-03b4d8a03fb1b2cf93aaac0dc9d317ff9c2ba705.tar.gz
piscine-03b4d8a03fb1b2cf93aaac0dc9d317ff9c2ba705.tar.bz2
piscine-03b4d8a03fb1b2cf93aaac0dc9d317ff9c2ba705.zip
c05/c06 normed, c07/c08 begining
Diffstat (limited to 'c07/ex03')
-rw-r--r--c07/ex03/ft_strjoin.c72
1 files changed, 72 insertions, 0 deletions
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 <charles.cabergs@gmail.com> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2019/07/07 16:14:25 by cacharle #+# #+# */
+/* Updated: 2019/07/08 11:08:00 by cacharle ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include <stdlib.h>
+
+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);
+}