piscine-c03/ex05/ft_strlcat.c

50 lines
1.4 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strlcat.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tischmid <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/03/24 03:19:16 by tischmid #+# #+# */
/* Updated: 2023/03/29 01:01:23 by tischmid ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdio.h>
unsigned int ft_strlcat(char *dest, char *src, unsigned int size)
{
unsigned int ret_size;
unsigned int i;
char *o_src;
o_src = src;
i = 0;
while (*dest++)
++i;
ret_size = i;
if (i > size)
ret_size = size;
--dest;
while (++i < size && *src)
*dest++ = *src++;
*dest = 0;
while (*o_src++)
++ret_size;
return (ret_size);
}
/* ////
#include <stdio.h>
#include <bsd/string.h>
int main(void)
{
char s[10] = "aaaa";
printf("%d\n", ft_strlcat(s, "xyz", 16));
printf("%s\n", s);
return (0);
}
*/ ////