ft_nm/ft_printf/libft/ft_strncmp.c

49 lines
1.5 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strncmp.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: pbonilla <eirodeis.lepnj@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/11/04 16:48:09 by pbonilla #+# #+# */
/* Updated: 2021/02/04 02:28:25 by pbonilla ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
int ft_strcmp(const char *s1, const char *s2)
{
unsigned char *ss1;
unsigned char *ss2;
size_t i;
ss1 = (unsigned char *)s1;
ss2 = (unsigned char *)s2;
i = 0;
while (ss1[i] || ss2[i])
{
if (ss1[i] != ss2[i])
return (ss1[i] - ss2[i]);
++i;
}
return (0);
}
int ft_strncmp(const char *s1, const char *s2, size_t n)
{
unsigned char *ss1;
unsigned char *ss2;
size_t i;
ss1 = (unsigned char *)s1;
ss2 = (unsigned char *)s2;
i = -1;
while (++i < n && (ss1[i] || ss2[i]))
{
if (ss1[i] != ss2[i])
return (ss1[i] - ss2[i]);
}
return (0);
}