
- C 標準庫
- C 庫 - 首頁
- C 庫 - <assert.h>
- C 庫 - <complex.h>
- C 庫 - <ctype.h>
- C 庫 - <errno.h>
- C 庫 - <fenv.h>
- C 庫 - <float.h>
- C 庫 - <inttypes.h>
- C 庫 - <iso646.h>
- C 庫 - <limits.h>
- C 庫 - <locale.h>
- C 庫 - <math.h>
- C 庫 - <setjmp.h>
- C 庫 - <signal.h>
- C 庫 - <stdalign.h>
- C 庫 - <stdarg.h>
- C 庫 - <stdbool.h>
- C 庫 - <stddef.h>
- C 庫 - <stdio.h>
- C 庫 - <stdlib.h>
- C 庫 - <string.h>
- C 庫 - <tgmath.h>
- C 庫 - <time.h>
- C 庫 - <wctype.h>
- C 標準庫資源
- C 庫 - 快速指南
- C 庫 - 有用資源
- C 庫 - 討論
- C 程式設計資源
- C 程式設計 - 教程
- C - 有用資源
C 庫 - strncmp() 函式
C 庫的 strncmp() 函式用於比較最多指定數量的兩個以 null 結尾的字串的字元。此字串也稱為字串的結尾,即通過出現 null 字元來定義。
語法
以下是 C 庫 strncmp() 函式的語法 -
strncmp(const char *str1, const char *str2, size_t n)
引數
此函式接受以下引數 -
str1 - 這是要比較的第一個字串。
str2 - 這是要比較的第二個字串。
n - 此引數指的是要比較的最大字元數。
返回值
此函式返回整數值,即 -
負數,如果 str1 小於 str2。
正數,如果 str2 小於 str1。
零,如果 str1 等於 str2。
示例 1
以下是檢查給定的兩個字串是否相等的 C 庫 strncmp() 函式。
#include <stdio.h> #include <string.h> int main() { char str_1[] = "java"; char str_2[] = "java"; if (strncmp(str_1, str_2, strlen(str_2)) == 0) { printf("The strings '%s' and '%s' are equal.\n", str_1, str_2); } else { printf("The strings '%s' and '%s' are not equal.\n", str_1, str_2); } return 0; }
輸出
執行上述程式碼後,我們得到以下結果 -
The strings 'java' and 'java' are equal.
示例 2
下面提到的程式說明了 C 的兩個函式 - strcpy() 建立字串副本,並使用 strncmp() 比較字串。
#include <stdio.h> #include <string.h> int main () { char str1[15]; char str2[15]; int ret; strcpy(str1, "abcdef"); strcpy(str2, "abcdEF"); ret = strncmp(str1, str2, 4); if(ret < 0) { printf("str1 is less than str2"); } else if(ret > 0) { printf("str2 is less than str1"); } else { printf("str1 is equal to str2"); } return(0); }
輸出
上述程式碼產生以下輸出 -
str2 is less than str1
廣告