ft_strchr(), ft_strrchr()

This commit is contained in:
lalgarra 2025-10-06 18:28:45 +02:00
parent 8b4b983f93
commit d4a895b266
5 changed files with 151 additions and 2 deletions

View file

@ -6,7 +6,7 @@
# By: lalgarra <lalgarra@student.42madrid.com> +#+ +:+ +#+ # # By: lalgarra <lalgarra@student.42madrid.com> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ # # +#+#+#+#+#+ +#+ #
# Created: 2025/10/03 18:03:12 by lalgarra #+# #+# # # Created: 2025/10/03 18:03:12 by lalgarra #+# #+# #
# Updated: 2025/10/05 20:42:03 by lalgarra ### ########.fr # # Updated: 2025/10/06 18:17:51 by lalgarra ### ########.fr #
# # # #
# **************************************************************************** # # **************************************************************************** #
@ -20,7 +20,8 @@ CFLAGS += -Wall -Wextra -Werror -g3 -iquote $(LIBDIR) \
TESTS := ft_isalpha_test ft_isdigit_test ft_isalnum_test ft_isascii_test \ 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 ft_bzero_test ft_memcpy_test ft_calloc_test \ ft_memset_test ft_bzero_test ft_memcpy_test ft_calloc_test \
ft_memmove_test ft_strlcpy_test ft_strlcat_test ft_memmove_test ft_strlcpy_test ft_strlcat_test ft_strchr_test \
ft_strrchr_test
%_test : %_test.c %_test : %_test.c
$(CC) $(CFLAGS) $*_test.c -L$(LIBDIR) -lft -o $*_test $(CC) $(CFLAGS) $*_test.c -L$(LIBDIR) -lft -o $*_test

BIN
ft_strchr_expected.output Normal file

Binary file not shown.

74
ft_strchr_test.c Normal file
View file

@ -0,0 +1,74 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strchr_test.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: lalgarra <lalgarra@student.42madrid.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/10/05 13:21:43 by lalgarra #+# #+# */
/* Updated: 2025/10/06 18:18:19 by lalgarra ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
#include <stdio.h>
#include <string.h>
static void test(char *prefix, char src[], int c)
{
char *res;
int fd;
fd = STDOUT_FILENO;
ft_putstr_fd(prefix, fd);
ft_putstr_fd("src:[", fd);
ft_putstr_fd(src, fd);
ft_putstr_fd("], c:[", fd);
ft_putchar_fd((char)c, fd);
ft_putstr_fd("], result:[", fd);
res = ft_strchr(src, c);
if (res != NULL)
ft_putstr_fd(res, fd);
else
ft_putstr_fd("-NULL-", fd);
ft_putendl_fd("]", fd);
}
static void do_test1(char *prefix, char src[])
{
int c;
ft_bzero(src, 128);
memcpy(src, "Lorem ipsum dolor sit amet consectetur", 39);
c = ' ';
test(prefix, src, c);
}
static void do_test2(char *prefix, char src[])
{
int c;
ft_bzero(src, 128);
c = ' ';
test(prefix, src, c);
}
static void do_test3(char *prefix, char src[])
{
int c;
ft_bzero(src, 128);
memcpy(src, "Lorem ipsum dolor sit amet consectetur", 39);
c = '\0';
test(prefix, src, c);
}
int main(void)
{
char src[128];
do_test1("test 1: ", src);
do_test2("test 2: ", src);
do_test3("test 3: ", src);
return (0);
}

BIN
ft_strrchr_expected.output Normal file

Binary file not shown.

74
ft_strrchr_test.c Normal file
View file

@ -0,0 +1,74 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strrchr_test.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: lalgarra <lalgarra@student.42madrid.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/10/05 13:21:43 by lalgarra #+# #+# */
/* Updated: 2025/10/06 18:17:32 by lalgarra ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
#include <stdio.h>
#include <string.h>
static void test(char *prefix, char src[], int c)
{
char *res;
int fd;
fd = STDOUT_FILENO;
ft_putstr_fd(prefix, fd);
ft_putstr_fd("src:[", fd);
ft_putstr_fd(src, fd);
ft_putstr_fd("], c:[", fd);
ft_putchar_fd((char)c, fd);
ft_putstr_fd("], result:[", fd);
res = ft_strrchr(src, c);
if (res != NULL)
ft_putstr_fd(res, fd);
else
ft_putstr_fd("-NULL-", fd);
ft_putendl_fd("]", fd);
}
static void do_test1(char *prefix, char src[])
{
int c;
ft_bzero(src, 128);
memcpy(src, "Lorem ipsum dolor sit amet consectetur", 39);
c = ' ';
test(prefix, src, c);
}
static void do_test2(char *prefix, char src[])
{
int c;
ft_bzero(src, 128);
c = ' ';
test(prefix, src, c);
}
static void do_test3(char *prefix, char src[])
{
int c;
ft_bzero(src, 128);
memcpy(src, "Lorem ipsum dolor sit amet consectetur", 39);
c = '\0';
test(prefix, src, c);
}
int main(void)
{
char src[128];
do_test1("test 1: ", src);
do_test2("test 2: ", src);
do_test3("test 3: ", src);
return (0);
}