📜  C中的strcspn()(1)

📅  最后修改于: 2023-12-03 15:00:11.512000             🧑  作者: Mango

C中的strcspn()

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()函数的介绍。