strnicmp

函式名: strnicmp
功 能: 比較字元串str1和str2的前n個字元串字典序的大小,但是不區分字母大小寫。
返回值: 當str1 <0 ; 當str1=str2時,返回值=0; 當str1>str2時,返回值>0。
比較是這樣進行的,先比較2個 字元串的第1個字元字典序的大小,如果能比較出大小,則馬上返回了,如果不能區別大小,開始比較第2個,如果這時第1個字元串已經到盡頭了,第2個字元串還有字元,這時算第2個字元串大。例:
char *str1="B";
char *str2="abcD";
int n=4;
strnicmp(char *str1, char *str2, 4);
結果是str1大,因為B在a的後面。
char *str1="ABCD";
char *str2="abcD";
int n=4;
strnicmp(char *str1, char *str2, 4);
結果一樣大。
char *str1="abc";
char *str2="abcD";
int n=5;
strnicmp(char *str1, char *str2, 5);
結果是str2大。
可以把上述數據,填到下面程式中一試便知道。
用 法: int strnicmp(char *str1, char *str2, unsigned maxlen);
程式例:
#include
#include
int main(void)
{
char *buf1 = "BBBccc", *buf2 = "bbbccc";
int nResult;
nResult = strnicmp(buf2, buf1, 3);
if (nResult > 0)
printf("buffer 2 is greater than buffer 1\n");
if (nResult < 0)
printf("buffer 2 is less than buffer 1\n");
if (nResult == 0)
printf("buffer 2 equals buffer 1\n");
return 0;
}
//---------------------------------
還有兩種情況: (n1 = 3 或 n2= 2時)
char *str1="aBc";
char *str2="abcD";
strnicmp(char *str1, char *str2, 3);
strnicmp(char *str1, char *str2, 2);
兩種情況的結果是否應該等於 0 呢?

相關詞條

相關搜尋

熱門詞條

聯絡我們