命名空间
变体
操作

strcspn

来自 cppreference.cn
< c‎ | string‎ | byte
定义于头文件 <string.h>
size_t strcspn( const char *dest, const char *src );

返回指向dest的空终止字节字符串的最大初始段的长度,该段仅包含在指向src的空终止字节字符串中找到的字符。

如果destsrc不是指向空终止字节字符串的指针,则行为未定义。

目录

[编辑] 参数

dest - 指向要分析的以空字符结尾的字节字符串的指针
src - 指向包含要搜索的字符的以空字符结尾的字节字符串的指针

[编辑] 返回值

最大初始段的长度,该段仅包含在指向src的空终止字节字符串中未找到的字符。

[编辑] 注意

该函数名称代表“补余跨度”(complementary span),因为该函数搜索在src中未找到的字符,即src的补集。

[编辑] 示例

#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);
}

输出

'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 函数

[编辑] 另请参阅

返回由另一个字节字符串中找到的字符组成的最大初始段的长度
的字符
(函数) [编辑]
返回由另一个字节字符串中找到的字符组成的最大初始段的长度
仅包含在另一个宽字符串中未找到的宽字符
(函数) [编辑]
在一个字符串中查找另一个字符串中任意字符的第一个位置
(函数) [编辑]
C++ 文档 for strcspn