ft_strncmp()
This commit is contained in:
parent
d4a895b266
commit
f7ce583bae
3 changed files with 101 additions and 2 deletions
4
Makefile
4
Makefile
|
|
@ -6,7 +6,7 @@
|
|||
# By: lalgarra <lalgarra@student.42madrid.com> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/10/03 18:03:12 by lalgarra #+# #+# #
|
||||
# Updated: 2025/10/06 18:17:51 by lalgarra ### ########.fr #
|
||||
# Updated: 2025/10/06 18:50:13 by lalgarra ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ 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_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_strrchr_test ft_strncmp_test
|
||||
|
||||
%_test : %_test.c
|
||||
$(CC) $(CFLAGS) $*_test.c -L$(LIBDIR) -lft -o $*_test
|
||||
|
|
|
|||
4
ft_strncmp_expected.output
Normal file
4
ft_strncmp_expected.output
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
test 1: size:[10], str1:[ ips], str2:[Lorem], result:[44]
|
||||
test 2: size:[10], str1:[ ipsu], str2:[Lrem], result:[44]
|
||||
test 3: size:[5], str1:[], str2:[], result:[0]
|
||||
test 4: size:[0], str1:[], str2:[Lorem ip], result:[0]
|
||||
95
ft_strncmp_test.c
Normal file
95
ft_strncmp_test.c
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_strncmp_test.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: lalgarra <lalgarra@student.42madrid.com> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2025/10/05 13:21:43 by lalgarra #+# #+# */
|
||||
/* Updated: 2025/10/06 18:52:36 by lalgarra ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
static void test(char *prefix, char str1[], char str2[], size_t size)
|
||||
{
|
||||
int res;
|
||||
int fd;
|
||||
|
||||
fd = STDOUT_FILENO;
|
||||
ft_putstr_fd(prefix, fd);
|
||||
ft_putstr_fd("size:[", fd);
|
||||
ft_putnbr_fd((int) size, fd);
|
||||
ft_putstr_fd("], str1:[", fd);
|
||||
ft_putstr_fd(str1, fd);
|
||||
ft_putstr_fd("], str2:[", fd);
|
||||
ft_putstr_fd(str2, fd);
|
||||
res = ft_strncmp(str2, str1, size);
|
||||
ft_putstr_fd("], result:[", fd);
|
||||
ft_putnbr_fd(res, 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(dest, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", 5);
|
||||
memcpy(src, " ipsum dolor sit amet consectetur adipiscing elit.", 4);
|
||||
test(prefix, src, dest, size);
|
||||
}
|
||||
|
||||
static void do_test2(char *prefix, char src[], char dest[])
|
||||
{
|
||||
size_t size;
|
||||
|
||||
zero(src, dest);
|
||||
size = 10;
|
||||
memcpy(dest, "L\x06rem ipsum dolor sit amet consectetur adipiscing elit.",
|
||||
5);
|
||||
memcpy(src, " ipsum dolor sit amet consectetur adipiscing elit.", 5);
|
||||
test(prefix, src, dest, size);
|
||||
}
|
||||
|
||||
static void do_test3(char *prefix, char src[], char dest[])
|
||||
{
|
||||
size_t size;
|
||||
|
||||
zero(src, dest);
|
||||
size = 5;
|
||||
test(prefix, src, dest, size);
|
||||
}
|
||||
|
||||
static void do_test4(char *prefix, char src[], char dest[])
|
||||
{
|
||||
size_t size;
|
||||
|
||||
zero(src, dest);
|
||||
size = 0;
|
||||
memcpy(dest, "Lorem ipsum dolor sit amet consectetur adipiscing elit.",
|
||||
8);
|
||||
test(prefix, src, dest, size);
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
char src[128];
|
||||
char dest[128];
|
||||
|
||||
do_test1("test 1: ", src, dest);
|
||||
do_test2("test 2: ", src, dest);
|
||||
do_test3("test 3: ", src, dest);
|
||||
do_test4("test 4: ", src, dest);
|
||||
return (0);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue