📅  最后修改于: 2023-12-03 14:59:38.157000             🧑  作者: Mango
在C语言中,想要比较两个字符串,需要使用字符串函数strcmp()
。但是,对于部分应用场景,我们其实只需要比较字符串的前几个字符,而不是整个字符串的内容。比如说,判断一个字符串是否以某个前缀开头。这时,我们可以使用另一个字符串函数strncmp()
。
int strncmp(const char *str1, const char *str2, size_t n);
str1
: 要进行比较的第一个字符串。str2
: 要进行比较的第二个字符串。n
: 要比较的字符数。下面是一个字符串比较的示例程序:
#include<stdio.h>
#include<string.h>
int main()
{
char str1[100] = "abcde";
char str2[100] = "abcd";
int result;
result = strncmp(str1, str2, 4);
if(result == 0)
{
printf("两个字符串相等!\n");
}
else
{
printf("两个字符串不相等!\n");
}
return 0;
}
这个程序会输出"两个字符串相等!",因为strncmp()
只比较了前四个字符,可以看到str1
和str2
的前四个字符是一样的。
strncmp()
函数是C语言字符串函数中的一个重要函数,可以用来比较两个字符串的前几个字符。在实际应用中,可以使用这个函数来判断一个字符串是否以某个前缀开头。当然,对于完整的字符串比较,还是需要使用strcmp()
函数。