📅  最后修改于: 2023-12-03 15:00:11.512000             🧑  作者: Mango
strcspn()
函数是C标准库头文件string.h
中的函数之一。 它用于在两个字符串中查找第一个匹配字符并返回它们之间的字符数。
#include <string.h>
size_t strcspn(const char *str1, const char *str2);
str1
:要搜索的第一个字符串str2
:要在第一个字符串中搜索的字符集返回值是size_t
类型的无符号整数,表示找到的第一个匹配字符的数量。 如果没有匹配项,则返回s1
中所有字符的数量。
该函数将查找str1
中最长的前缀,该前缀未包含在str2
中。
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "this is a sample string";
char str2[] = "aeiou";
size_t length = strcspn(str1, str2);
printf("The length of the initial segment without vowels: %zu", length);
return 0;
}
程序输出:
The length of the initial segment without vowels: 4
在这个例子中,我们传递了两个字符串:str1
是待搜索字符串,str2
是要匹配的字符集。
strcspn()
函数返回了字符串s1
中匹配字符的数量。 在这个例子中,我们在字符集aeiou
中搜索了字符串s1
,并且发现在第5个字符上找到了i
。 因此,函数返回4,表示在字符串s1
中第5个字符之前的所有字符不包含在字符集aeiou
中。
以下面这个例子为例:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "this is a test";
char str2[] = "abcde";
size_t length = strcspn(str1, str2);
printf("The length of the initial segment without characters from str2 is %zu.\n", length);
return 0;
}
这里,我们在定义的两个字符串中使用strcspn()
函数查找匹配字符。然后,程序输出"输出长度"。
The length of the initial segment without characters from str2 is 6.
从str1
字符串的开头到字符t
我们有6个字符,这些字符不匹配字符串str2
中的任何一个字符。
以上就是strcspn()
函数的介绍。