1
0
This repository has been archived on 2024-10-25. You can view files and clone it, but cannot push or open issues or pull requests.
42-1st-piscine/ended/C07/ex03/ft_strjoin.c

74 lines
1.6 KiB
C
Raw Permalink Normal View History

2023-08-06 20:12:38 +02:00
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strjoin.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: ajoly <ajoly@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/08/03 09:24:30 by ajoly #+# #+# */
/* Updated: 2022/08/04 11:16:46 by ajoly ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdlib.h>
char *ft_strcat(char *dest, char *src)
{
int i;
int l;
i = 0;
l = 0;
while (dest[i] != '\0')
i++;
while (src[l] != '\0')
{
dest[i] = src[l];
i++;
l++;
}
dest[i] = '\0';
return (dest);
}
int ft_strlen(char *str)
{
int i;
i = 0;
while (str[i] != '\0')
{
i++;
}
return (i);
}
char *ft_strjoin(int size, char **strs, char *sep)
{
int i;
char *result;
int len;
i = -1;
len = ft_strlen(sep) * (size - 1);
while (++i < size)
len = len + ft_strlen(strs[i]);
if (size == 0)
{
result = malloc(sizeof(char));
*result = 0;
return (result);
}
i = 0;
result = malloc(len);
while (i < size)
{
ft_strcat(result, strs[i]);
if (i < size - 1)
ft_strcat(result, sep);
i++;
}
result[len] = '\0';
return (result);
}