piscine/c03/ex03/ft_strncat.c
Willem Haffmans 607ce08c18 all
2024-09-10 00:18:01 +02:00

55 lines
1.6 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strncat.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: whaffman <whaffman@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/06/11 14:58:31 by whaffman #+# #+# */
/* Updated: 2024/06/11 16:42:32 by whaffman ### ########.fr */
/* */
/* ************************************************************************** */
#include <stdio.h>
#include <string.h>
char *ft_strncat(char *dest, char *src, unsigned int nb)
{
char *odest;
unsigned int i;
odest = dest;
while (*dest)
dest++;
i = 0;
while (*src && i++ < nb)
*dest++ = *src++;
*dest = '\0';
return (odest);
}
#ifdef DEBUG
void test(char *dest0, char *dest1, char *src, int n)
{
printf("dest0: \"%s\"\n", dest0);
printf("dest1: \"%s\"\n", dest1);
printf("src: \"%s\"\n", src);
printf("strncat: \"%s\"\n", strncat(dest0, src, n));
printf("ft_strncat: \"%s\"\n", ft_strncat(dest1, src, n));
}
int main(void)
{
char dest0[20];
char dest1[20];
dest0[0] = 0;
dest1[0] = 0;
test(&dest0[0], &dest1[0], "0123456789", 10);
test(&dest0[0], &dest1[0], "0123456789", 5);
test(&dest0[0], &dest1[0], "0123456789", 5);
return (0);
}
#endif