命名空间
变体
操作

strcspn

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

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

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

目录

[编辑] 参数

dest - 指向要分析的空终止字节字符串的指针
src - 指向包含要搜索的字符的空终止字节字符串的指针

[编辑] 返回值

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

[编辑] 注意

函数名代表 “互补跨度”,因为该函数搜索在 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++ 文档 关于 strcspn