ft_strncmp.c
1 /* ************************************************************************** */ 2 /* */ 3 /* ::: :::::::: */ 4 /* ft_strncmp.c :+: :+: :+: */ 5 /* +:+ +:+ +:+ */ 6 /* By: gychoi <marvin@42.fr> +#+ +:+ +#+ */ 7 /* +#+#+#+#+#+ +#+ */ 8 /* Created: 2022/07/08 18:11:49 by gychoi #+# #+# */ 9 /* Updated: 2022/07/12 13:33:33 by gychoi ### ########.fr */ 10 /* */ 11 /* ************************************************************************** */ 12 13 #include "libft.h" 14 15 int ft_strncmp(const char *s1, const char *s2, size_t n) 16 { 17 size_t i; 18 19 i = 0; 20 while (i < n && (s1[i] != '\0' || s2[i] != '\0')) 21 { 22 if ((((unsigned char *)s1)[i] < ((unsigned char *)s2)[i]) || \ 23 (((unsigned char *)s1)[i] > ((unsigned char *)s2)[i])) 24 return (((unsigned char *)s1)[i] - ((unsigned char *)s2)[i]); 25 i++; 26 } 27 return (0); 28 }