2022年7月2日星期六

C strncmp

int strncmp(const char *string1, const char *string2, size_t count);

與strcmp類似,只是多了限定比較長度。(strcmp 參考)
功能:比較兩個字串
回傳:1,0,-1(自己實驗下來,會依據第一個發現不同的字元進行比大小,並回傳結果)
回傳代表意思
-1: string1 < string2
0: string1 = string2
1: string1 > string2
注意一定要確保字串中有空字元”\0”

程式碼(指定長度內有不同)

此處指定比較長度為7
#include <stdio.h>
#include <string.h>

int main(void)
{
  int result = 0;
  result = strncmp(string1,string2,7);
  printf("string1 compare with string2.Result:%d\n\n",result);

  result = strncmp(string2,string1,7);
  printf("string2 compare with string1.Result:%d\n\n",result);

  result = strncmp(string1,string1,7);
  printf("string1 compare with string1.Result:%d\n\n",result);
  return 0;
}
執行結果


程式碼(指定長度內無不同)

此處指定比較長度為4
#include <stdio.h>
#include <string.h>

char string1[] = "string1";
char string2[] = "string2";

int main(void)
{
  int result = 0;
  result = strncmp(string1,string2,4);
  printf("string1 compare with string2.Result:%d\n\n",result);

  result = strncmp(string2,string1,4);
  printf("string2 compare with string1.Result:%d\n\n",result);

  result = strncmp(string1,string1,4);
  printf("string1 compare with string1.Result:%d\n\n",result);
  return 0;
}
執行結果


沒有留言:

發佈留言

打賞按讚