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.