strnicmp

函式名: strnicmp

功 能: 比較字元串str1和str2的前n個字元串字典序的大小,但是不區分字母大小寫。

返回值: 當str1<str2時,返回值是-1 ; 當str1=str2時,返回值是0; 當str1>str2時,返回值是1。

比較是這樣進行的,先比較兩個字元串的第1個字元字典序的大小,如果能比較出大小,則馬上返回了,如果不能區別大小,開始比較第2個,如果這時第1個字元串已經到盡頭了,第2個字元串還有字元,這時算第2個字元串大。

基本介紹

  • 中文名:比較字元串str1和str2的前n個字元串字典序的大小
  • 外文名:strnicmp
  • 性質:函式名
  • 領域:程式設計
例題1:,例題2:,

例題1:

char *str1="B";char *str2="abcD";int n=4;strnicmp(char *str1, char *str2, 4);
在我的機器上比較出的結果是str1 > str2
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);

例題2:

#include <string.h>#include <stdio.h>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 呢?

相關詞條

熱門詞條

聯絡我們