一、strncmp() 简介
1. 函数原型
int strncmp(const char *str1, const char *str2, size_t n);
2. 参数
- str1– 要进行比较的第一个字符串。
- str2– 要进行比较的第二个字符串。
- n– 要比较的最大字符数。
3. 功能
用来比较str1和str2字符串的前n个字符。
4. 头文件
#include <string.h>
5. 返回值
- 自左向右逐个按照ASCII码值进行比较n个字符,直到出现不同的字符或遇’\0’为止,str1-str2的数值就是返回值。
- 如果返回值 < 0,则表示 str1 小于 str2。
- 如果返回值 > 0,则表示 str2 小于 str1。
- 如果返回值 = 0,则表示 str1 等于 str2。
二、strncmp() 用法
strncmp函数是用来比较字符串的。
具体代码如下:
#include <stdio.h>
#include <string.h>
int main(void)
{
char *a = "English";
char *b = "ENGLISH";
char *c = "english";
char *d = "English";
printf("strncmp(a, b):%d\n", strncmp(a, b, 7));//字符串之间的比较
printf("strncmp(a, c):%d\n", strncmp(a, c, 7));
printf("strncmp(a, d):%d\n", strncmp(a, d, 7));
printf("strncmp(a, \"English\"):%d\n", strncmp(a, "English", 7));
printf("strncmp(&a[2], \"g\"):%d\n", strncmp(&a[2], "g", 1)); //单个字符的比较
return 0;
}
运行结果如下:
strncmp(a, b):32
strncmp(a, c):-32
strncmp(a, d):0
strncmp(a, "English"):0
strncmp(&a[2], "g"):0