Working on ft_split()

This commit is contained in:
lalgarra 2025-10-09 17:37:10 +02:00
parent 337475e022
commit e5cd17c1b8
2 changed files with 77 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/08 20:53:52 by lalgarra ### ########.fr #
# Updated: 2025/10/09 17:21:34 by lalgarra ### ########.fr #
# #
# **************************************************************************** #
@ -22,7 +22,8 @@ TESTS := ft_isalpha_test ft_isdigit_test ft_isalnum_test ft_isascii_test \
ft_memset_test ft_bzero_test ft_memcpy_test ft_calloc_test \
ft_memmove_test ft_strlcpy_test ft_strlcat_test ft_strchr_test \
ft_strrchr_test ft_strncmp_test ft_memcmp_test ft_strnstr_test \
ft_atoi_test ft_substr_test ft_strjoin_test ft_strtrim_test
ft_atoi_test ft_substr_test ft_strjoin_test ft_strtrim_test \
ft_split_test
%_test : %_test.c
$(CC) $(CFLAGS) $*_test.c -L$(LIBDIR) -lft -o $*_test

74
ft_split_test.c Normal file
View file

@ -0,0 +1,74 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_split_test.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: lalgarra <lalgarra@student.42madrid.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/10/09 17:20:58 by lalgarra #+# #+# */
/* Updated: 2025/10/09 17:35:12 by lalgarra ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
#include <stdio.h>
#include <string.h>
static void ft_putstr_fd1(char *res, int fd)
{
if (res == NULL)
ft_putstr_fd("-NULL-", fd);
else
ft_putstr_fd(res, fd);
}
static void printres(char **res, int fd)
{
size_t idx;
idx = 0;
while (res[idx] != NULL)
{
ft_putstr_fd1(res[idx], fd);
ft_putstr_fd("], [", fd);
}
ft_putstr_fd1(res[idx], fd);
}
static void freeres(char **res)
{
size_t idx;
idx = 0;
while (res[idx] != NULL)
free(res[idx]);
free(res);
}
static void test(char *prefix, char *str1, char c)
{
char **res;
int fd;
fd = STDOUT_FILENO;
ft_putstr_fd(prefix, fd);
ft_putstr_fd("str1:[", fd);
ft_putstr_fd1(str1, fd);
ft_putstr_fd("], c:[", fd);
ft_putchar_fd(c, fd);
res = ft_split(str1, c);
ft_putstr_fd("], result:{[", fd);
printres(res, fd);
freeres(res);
ft_putendl_fd("]}", fd);
}
int main(void)
{
test("test 1: ", "Lorem", ' ');
test("test 2: ", " Lorem ", ' ');
test("test 3: ", " Lorem ", 'r');
test("test 4: ", (void *)0, ' ');
test("test 6: ", "Lorem", '\0');
return (0);
}