Untitled
unknown
plain_text
9 months ago
3.5 kB
7
Indexable
#include <stdlib.h>
int ft_strlen(char *str)
{
int i;
i = 0;
while (str[i])
i++;
return (i);
}
int len(char **str)
{
int i;
int x;
int count;
i = 0;
x = 0;
count = 0;
while (str[i] != NULL)
{
while (str[i][x])
{
x++;
count++;
}
x = 0;
i++;
}
return (count);
}
void fill_join(char *join, int size, char **strs, char *sep)
{
int i;
int x;
int y;
int z;
i = 0;
y = 0;
while (strs[i] != NULL)
{
x = 0;
while (strs[i][x])
join[y++] = strs[i][x++];
z = 0;
while (sep[z] && i < size - 1)
join[y++] = sep[z++];
i++;
}
join[y] = '\0';
}
char *ft_strjoin(int size, char **strs, char *sep)
{
char *join;
join = malloc(len(strs) + (ft_strlen(sep) * (size - 1)) + 1 * sizeof(char));
if (join == NULL)
return (NULL);
if (size == 0)
return (join);
/*if (size == 0)
{
join = (char *)malloc(sizeof(char));
join[0] = '\0';
return (join);
}*/
fill_join(join, size, strs, sep);
return (join);
}
#include <stdio.h>
int main()
{
char *strs[] = {"Hello", "Jacques", "Ceci", "Est", "Un" , NULL};
char sep[] = " !";
char *x = ft_strjoin(5, strs, sep);
printf("%s\n", x);
free(x);
return 0;
}
}
}
}
}
}
}
}
}
}Editor is loading...
Leave a Comment