#include <stdio.h>
size_t ft_strlen(const char *s)
{
size_t counter;
counter = 0;
while(s[counter] != '\0')
counter++;
return (counter);
}
void *ft_memcpy(void *dest, const void *src, size_t n)
{
char *pdest;
const char *psrc;
pdest = dest;
psrc = src;
if (!dest && !src)
return (0);
while (n-- > 0)
{
*pdest = *psrc;
pdest++;
psrc++;
}
return (dest);
}
size_t ft_strlcpy(char *dest, const char *src, size_t size)
{
size_t srclen;
srclen = ft_strlen(src);
if (srclen + 1 < size)
{
ft_memcpy(dest, src, srclen);
dest[srclen] = '\0';
}
if (size != 0)
{
ft_memcpy(dest, src, size - 1);
dest[size - 1] = '\0';
}
return (srclen);
}
int main()
{
char string[] = "Hello there, Venus";
char buffer[19];
int r;
r = ft_strlcpy(buffer,string,-1);
printf("Copied '%s' into '%s', length %d\n",
string,
buffer,
r
);
return (0);
}
Last active
May 25, 2022 03:36
-
-
Save yclim95/0af040878e133d397c375ffe8ac7b4da to your computer and use it in GitHub Desktop.
ft_strlcpy() in c
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment