- 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 库 - 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
广告