strncmp()函数是 C 语言中的一个标准库函数,用于比较两个字符串的前n个字符。它类似于strcmp(),但它只会比较最多n个字符,适用于只需要比较部分字符串的情况。
strncmp 函数头文件
strncmp函数的头文件是<string.h>。在使用strncmp函数前,确保在你的 C 代码中包含这个头文件:
#include <string.h>
strncmp 函数原型
int strncmp(const char *s1, const char *s2, size_t n);
strncmp函数比较s1指向的字符串和s2指向的字符串,不超过n个字符;不比较空字符'\0'后面的内容。
参数说明
s1:指向第一个字符串的指针;s2:指向第二个字符串的指针;n:要比较的最大字符数;
返回值
strncmp函数返回一个大于、等于或小于0的整数;
如果两个字符串相同,则返回0,否则返回第一个不同字符的差异值。
strncmp 示例代码
strncmp()常用于比较前n个字符是否相同:
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "perfcode.com";
char str2[] = "perFCODE.com";
// 比较前 3 个字符
if (strncmp(str1, str2, 3) == 0) {
printf("The first 3 characters are the same.\n");
} else {
printf("The first 3 characters are different.\n");
}
// 比较前 5 个字符
if (strncmp(str1, str2, 5) == 0) {
printf("The first 5 characters are the same.\n");
} else {
printf("The first 5 characters are different.\n");
}
return 0;
}
程序运行结果
The first 3 characters are the same. The first 5 characters are different.