libft/ft_strncmp.c

53 lines
1.4 KiB
C
Raw Normal View History

2024-10-16 13:47:09 +02:00
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strncmp.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: kcolin <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/10/16 13:23:17 by kcolin #+# #+# */
/* Updated: 2024/10/22 12:25:39 by kcolin ### ########.fr */
2024-10-16 13:47:09 +02:00
/* */
/* ************************************************************************** */
#include "libft.h"
int ft_strncmp(const char *s1, const char *s2, size_t n)
2024-10-16 13:47:09 +02:00
{
size_t i;
2024-10-16 13:47:09 +02:00
if (n == 0)
return (0);
2024-10-16 13:47:09 +02:00
i = 0;
while (s1[i] != '\0' && s2[i] != '\0')
2024-10-16 13:47:09 +02:00
{
if (i >= n)
return (0);
if (s1[i] != s2[i])
break ;
i++;
}
if (i >= n)
return (0);
2024-10-16 13:47:09 +02:00
return ((unsigned char)s1[i] - (unsigned char)s2[i]);
}
/*
#include <stdio.h>
#include <string.h>
int main(int argc, char **argv)
{
size_t cmp_len;
2024-10-16 13:47:09 +02:00
cmp_len = 6;
2024-10-16 13:47:09 +02:00
if (argc > 2)
{
printf("mine: %d\tlib: %d\n",
ft_strncmp(argv[1], argv[2], cmp_len),
strncmp(argv[1], argv[2], cmp_len));
}
return (0);
}
*/