#include int strncmp(const char *lhs, const char *rhs, unsigned long n) { const unsigned char *l=(void *)lhs, *r=(void *)rhs; if (!n--) return 0; for (; *l && *r && n && *l == *r ; l++, r++, n--); return *l - *r; } int memcmp(const void *vl, const void *vr, unsigned long n) { const unsigned char *l = vl, *r = vr; for (; n && *l == *r; n--, l++, r++); return n ? *l-*r : 0; }