/* Compare no more than N characters of S1 and S2, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. */intSTRNCMP (const char *s1, const char *s2, size_t n){ unsigned reg_char c1 = '/0'; unsigned reg_char c2 = '/0'; if (n >= 4) { size_t n4 = n >> 2; do{ c1 = (unsigned char) *s1++; c2 = (unsigned char) *s2++; if (c1 == '/0' || c1 != c2) return c1 - c2; c1 = (unsigned char) *s1++; c2 = (unsigned char) *s2++; if (c1 == '/0' || c1 != c2) return c1 - c2; c1 = (unsigned char) *s1++; c2 = (unsigned char) *s2++; if (c1 == '/0' || c1 != c2) return c1 - c2; c1 = (unsigned char) *s1++; c2 = (unsigned char) *s2++; if (c1 == '/0' || c1 != c2) return c1 - c2;} while (--n4 > 0); n &= 3; } while (n > 0) { c1 = (unsigned char) *s1++; c2 = (unsigned char) *s2++; if (c1 == '/0' || c1 != c2)return c1 - c2; n--; } return c1 - c2;}/* Compare no more than N characters of S1 and 你的当前访问异常,请进行认证后继续阅读剩余内容。 提交