首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

strcspn

在头文件<string.h>中定义

size_t strcspn(const char * dest,const char * src);

返回由dest指向的以null结尾的字节串的最大初始段的长度,该长度仅包含由src指向的以null结尾的字节串中未找到的字符。

如果dest或src不是指向以空字符结尾的字节字符串的指针,则行为未定义。

参数

dest

-

指向要分析的空字符串字符串的指针

src

-

指向包含要搜索的字符的以空字符结尾的字节字符串

返回值

最大初始段的长度,其中只包含由src指向的空终止字节字符串中找不到的字符。

注意

函数名称代表“互补跨度”,因为该函数搜索src中未找到的字符,即src的补码。

代码语言:javascript
复制
#include <string.h>
#include <stdio.h>
 
int main(void)
{
    const char *string = "abcde312$#@";
    const char *invalid = "*$#";
 
    size_t valid_len = strcspn(string, invalid);
    if(valid_len != strlen(string))
       printf("'%s' contains invalid chars starting at position %zu\n",
               string, valid_len);
}

输出:

代码语言:javascript
复制
'abcde312$#@' contains invalid chars starting at position 8

参考

  • C11标准(ISO / IEC 9899:2011):
    • 7.24.5.3 strcspn函数(p:368)
  • C99标准(ISO / IEC 9899:1999):
    • 7.21.5.3 strcspn函数(p:331)
  • C89 / C90标准(ISO / IEC 9899:1990):
    • 4.11.5.3 strcspn函数

扩展内容

strspn

返回仅由另一个字节字符串(函数)中的字符组成的最大初始段的长度

wcscspn(C95)

返回仅由在另一个宽字符串(函数)中未找到的宽字符组成的最大初始段的长度

strpbrk

找到一个字符串中任何字符的第一个位置,另一个字符串(函数)

| strcspn 的C ++文档|

扫码关注腾讯云开发者

领取腾讯云代金券