47 lines
1.5 KiB
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);
|
|
}
|