int ft_memcmp(const void *s1, const void *s2, size_t n)
#include "libft.h"
int ft_memcmp(const void *s1, const void *s2, size_t n)
{
size_t i;
const unsigned char *temp1;
const unsigned char *temp2;
temp1 = (const unsigned char *)s1;
temp2 = (const unsigned char *)s2;
i = 0;
while (i < n)
{
if (temp1[i] != temp2[i])
return (temp1[i] - temp2[i]);
i++;
}
return (0);
}
int main(void)
{
char a[] = "ABC";
char b[] = "ABD";
int res = ft_memcmp(a, b, 3); // 'C' - 'D' = -1
printf("%d\n", res); // 출력: -1
return 0;
}
s1 > s2: 양수
s1 < s2: 음수
s1 == s2: 0