/* Libft Copyright (C) 2026 yctct This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "libft.h" int ft_strncmp(const char *s1, const char *s2, size_t n) { size_t i; i = 0; while (i < n) { if ((s1[i] != s2[i]) || s1[i] == '\0') return ((unsigned char)s1[i] - (unsigned char)s2[i]); i++; } return (0); } /* #include #include int main(void) { char str1[] = "ABC"; char str2[] = "ABC"; char str3[] = "AB"; char str4[] = "ABA"; char str5[] = "ABZ"; char str6[] = "ABJ"; int size; printf("############ strncmp ############\n"); size = 3; printf("%d\n", ft_strncmp(str1, str2, size)); printf("%d\n", strncmp(str1, str2, size)); size = 0; printf("%d\n", ft_strncmp(str1, str1, size)); printf("%d\n", strncmp(str1, str1, size)); size = -1; printf("%d\n", ft_strncmp(str1, str1, size)); printf("%d\n", strncmp(str1, str1, size)); size = 3; printf("%d\n", ft_strncmp(str1, str3, size)); printf("%d\n", strncmp(str1, str3, size)); size = 3; printf("%d\n", ft_strncmp(str4, str5, size)); printf("%d\n", strncmp(str4, str5, size)); size = 3; printf("%d\n", ft_strncmp(str6, str1, size)); printf("%d\n", strncmp(str6, str1, size)); size = 6; printf("%d\n", ft_strncmp("test\200", "test\0", size)); printf("%d\n", strncmp("test\200", "test\0", size)); size = 4; printf("%d\n", ft_strncmp("\201", "A", size)); printf("%d\n", strncmp("\201", "A", size)); } */