piscine-c02/ex10/ft_strlcpy.c

47 lines
1.5 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strlcpy.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: tischmid <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/03/19 11:49:46 by tischmid #+# #+# */
/* Updated: 2023/03/24 00:46:53 by tischmid ### ########.fr */
/* */
/* ************************************************************************** */
#define BUFSIZE 10
unsigned int ft_strlcpy(char *dest, char *src, unsigned int size)
{
char *orig_src;
orig_src = src;
while (size-- > 1 && *src)
*dest++ = *src++;
*dest = 0;
size = 0;
while (*orig_src++)
++size;
return (size);
}
#define START
#include <stdio.h>
int main(void)
{
char buf[BUFSIZE] = "||||||||||";
unsigned int return_size;
for (int j = 0; j < 11; ++j)
{
printf("####### Size == %d #######\n", j);
return_size = ft_strlcpy(buf, "01234", j);
printf("Return Size: %d\n", return_size);
for (int i = 0; i < BUFSIZE; ++i)
printf((buf[i] >= 32 && buf[i] <= 126) ? "%c\n" : "0x%x\n", buf[i]);
}
return (0);
}