2021-01-12 20:41:01 +00:00
|
|
|
#include <stddef.h>
|
|
|
|
|
|
2020-07-16 14:02:51 +01:00
|
|
|
int strcmp(const char *s1, const char *s2)
|
|
|
|
|
{
|
|
|
|
|
int i;
|
2021-01-12 20:41:01 +00:00
|
|
|
for (i = 0; s1[i] == s2[i]; i++) {
|
|
|
|
|
if (s1[i] == '\0') {
|
2020-07-16 14:02:51 +01:00
|
|
|
return 0;
|
2021-01-12 20:41:01 +00:00
|
|
|
}
|
|
|
|
|
}
|
2020-07-16 14:02:51 +01:00
|
|
|
|
|
|
|
|
return s1[i] - s2[i];
|
|
|
|
|
}
|
|
|
|
|
|
2021-01-12 20:41:01 +00:00
|
|
|
int strncmp(const char *s1, const char *s2, size_t n)
|
2020-07-16 14:02:51 +01:00
|
|
|
{
|
2021-01-12 20:41:01 +00:00
|
|
|
for (; n > 0; s1++, s2++, --n) {
|
|
|
|
|
if (*s1 != *s2) {
|
2020-07-16 14:02:51 +01:00
|
|
|
return ((*(unsigned char *)s1 < *(unsigned char *)s2) ? -1 : 1);
|
2021-01-12 20:41:01 +00:00
|
|
|
} else if (*s1 == '\0') {
|
2020-07-16 14:02:51 +01:00
|
|
|
return 0;
|
2021-01-12 20:41:01 +00:00
|
|
|
}
|
|
|
|
|
}
|
2020-07-16 14:02:51 +01:00
|
|
|
return 0;
|
|
|
|
|
}
|