ft_memset()

This commit is contained in:
lalgarra 2025-10-04 13:09:36 +02:00
parent ad2fae898b
commit a60d1e1a87
3 changed files with 75 additions and 2 deletions

View file

@ -6,7 +6,7 @@
# By: lalgarra <lalgarra@student.42madrid.com> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2025/10/03 18:03:12 by lalgarra #+# #+# #
# Updated: 2025/10/04 11:59:30 by lalgarra ### ########.fr #
# Updated: 2025/10/04 13:04:25 by lalgarra ### ########.fr #
# #
# **************************************************************************** #
@ -17,7 +17,8 @@ LIBDIR = ../repo_libft_algarra
CFLAGS += -Wall -Wextra -Werror -g3 -iquote $(LIBDIR)
TESTS := ft_isalpha_test ft_isdigit_test ft_isalnum_test ft_isascii_test \
ft_isprint_test ft_toupper_test ft_tolower_test ft_strlen_test
ft_isprint_test ft_toupper_test ft_tolower_test ft_strlen_test \
ft_memset_test
%_test : %_test.c
$(CC) $(CFLAGS) $*_test.c -L$(LIBDIR) -lft -o $*_test

15
ft_memset_expected.output Normal file
View file

@ -0,0 +1,15 @@
buff: "", n=0
after call: buff: "", n=0
res == buff: 1;
buff: "", n=3
after call: buff: "XXX", n=3
res == buff: 1;
buff: "Iorem ipsum dolor", n=3
after call: buff: "XXXem ipsum dolor", n=3
res == buff: 1;
buff: "Iorem ipsum dolor", n=16
after call: buff: "XXXXXXXXXXXXXXXXr", n=16
res == buff: 1;
buff: "Iorem ipsum dolor", n=17
after call: buff: "XXXXXXXXXXXXXXXXX", n=17
res == buff: 1;

57
ft_memset_test.c Normal file
View file

@ -0,0 +1,57 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_memset_test.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: lalgarra <lalgarra@student.42madrid.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/10/03 18:27:44 by lalgarra #+# #+# */
/* Updated: 2025/10/04 12:52:11 by lalgarra ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
#include <stdio.h>
#include <string.h>
void do_test(const char *buff, size_t n)
{
void *res;
size_t idx;
char c1;
printf("buff: \"%s\", n=%lu\r\n", buff, n);
c1 = 'X';
res = ft_memset((void *)buff, c1, n);
printf("after call: buff: \"%s\", n=%lu\r\n", buff, n);
printf("res == buff: %i;", res == buff);
idx = 0;
while (idx < n)
{
if (*(buff + idx) != c1)
{
printf(" pos. %lu not set!!", idx);
idx = n;
}
idx++;
}
if (*(buff + n) == c1)
printf(" pos. %lu updated!!", idx);
printf("\r\n");
}
int main(void)
{
char buff[18];
strcpy(buff, "");
do_test(buff, 0);
do_test(buff, 3);
strcpy(buff, "Iorem ipsum dolor");
do_test(buff, 3);
strcpy(buff, "Iorem ipsum dolor");
do_test(buff, 16);
strcpy(buff, "Iorem ipsum dolor");
do_test(buff, 17);
return (0);
}