C 程式設計/string.h/strncmp
外觀
strncmp() 是一個標準庫函式,用於比較兩個字串,最多比較指定長度。該函式在 string.h 中宣告,並與以下原型相容
int strncmp (const char * s1, const char * s2, size_t num);
該函式使用 字典序 比較字串,但最多檢查 num 個字元。如果字串相等,或者它們的第一個 num 個字元相等,則返回零;否則,如果 s1 小於 s2,則返回一個負整數,如果 s1 大於 s2,則返回一個正整數。一個簡單的實現可能如下所示
int strncmp (const char * const s1, const char * const s2, const size_t num)
{
const unsigned char * const us1 = (const unsigned char *) s1;
const unsigned char * const us2 = (const unsigned char *) s2;
for(size_t i = (size_t)0; i < num; ++i)
{
if(us1[i] < us2[i])
return -1;
else if(us1[i] > us2[i])
return 1;
else if(! us1[i]) /* null byte -- end of string */
return 0;
}
return 0;
}
然而,在實踐中,實際的實現會進行顯著的最佳化。