ft_strlcpy()

This commit is contained in:
lalgarra 2025-10-05 20:13:48 +02:00
parent 8065f4722e
commit d28b6d961d
2 changed files with 54 additions and 37 deletions

View file

@ -0,0 +1,3 @@
test 1: size:[10], src:[Lorem ipsum dolor sit amet consectetur adipiscing elit.], dest:[XXXXXXXXXXXX], result:[55], dest:[Lorem ips]
test 2: size:[10], src:[Lorem i], dest:[XXXXXXXXXXXX], result:[7], dest:[Lorem i]
test 3: size:[5], src:[Lorem ip], dest:[XXXXXXXX], result:[8], dest:[Lore]

View file

@ -6,7 +6,7 @@
/* By: lalgarra <lalgarra@student.42madrid.com> +#+ +:+ +#+ */ /* By: lalgarra <lalgarra@student.42madrid.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/10/05 13:21:43 by lalgarra #+# #+# */ /* Created: 2025/10/05 13:21:43 by lalgarra #+# #+# */
/* Updated: 2025/10/05 14:52:21 by lalgarra ### ########.fr */ /* Updated: 2025/10/05 19:49:14 by lalgarra ### ########.fr */
/* */ /* */
/* ************************************************************************** */ /* ************************************************************************** */
@ -14,46 +14,16 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
/* static void test(char *prefix, char src[], char dest[], size_t size)
static void do_test3(char *prefix)
{ {
int *buff;
size_t buflen;
size_t size;
buflen = 5;
size = 0;
buff = ft_calloc(buflen, size);
printf("%ssize= %lu; buff == NULL: %i\n", prefix, size, buff == NULL);
free(buff);
}
static void do_test2(char *prefix)
{
int *buff;
size_t buflen;
buflen = 0;
buff = ft_calloc(buflen, sizeof(int));
printf("%sbuflen = %lu; buff == NULL: %i\n", prefix, buflen, buff == NULL);
free(buff);
}
*/
static void do_test1(char *prefix)
{
char src[128];
char dest[128];
int fd;
size_t size;
size_t res; size_t res;
int fd;
fd = STDOUT_FILENO; fd = STDOUT_FILENO;
size = 10;
bzero(dest, size);
memcpy(src, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", 56);
memset(dest, 'X', size + 2);
ft_putstr_fd(prefix, fd); ft_putstr_fd(prefix, fd);
ft_putstr_fd("src:[", fd); ft_putstr_fd("size:[", fd);
ft_putnbr_fd((int) size, fd);
ft_putstr_fd("], src:[", fd);
ft_putstr_fd(src, fd); ft_putstr_fd(src, fd);
ft_putstr_fd("], dest:[", fd); ft_putstr_fd("], dest:[", fd);
ft_putstr_fd(dest, fd); ft_putstr_fd(dest, fd);
@ -65,8 +35,52 @@ static void do_test1(char *prefix)
ft_putendl_fd("]", fd); ft_putendl_fd("]", fd);
} }
static void zero(char src[], char dest[])
{
bzero(src, 128);
bzero(dest, 128);
}
static void do_test1(char *prefix, char src[], char dest[])
{
size_t size;
size = 10;
zero(src, dest);
memcpy(src, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", 56);
memset(dest, 'X', size + 2);
test(prefix, src, dest, size);
}
static void do_test2(char *prefix, char src[], char dest[])
{
size_t size;
zero(src, dest);
size = 10;
memcpy(src, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", size - 3);
memset(dest, 'X', size + 2);
test(prefix, src, dest, size);
}
static void do_test3(char *prefix, char src[], char dest[])
{
size_t size;
zero(src, dest);
size = 5;
memcpy(src, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", size + 3);
memset(dest, 'X', size + 3);
test(prefix, src, dest, size);
}
int main(void) int main(void)
{ {
do_test1("test 1: "); char src[128];
char dest[128];
do_test1("test 1: ", src, dest);
do_test2("test 2: ", src, dest);
do_test3("test 3: ", src, dest);
return (0); return (0);
} }