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  }