命名空间
变体
操作

std::strcspn

来自 cppreference.cn
< cpp‎ | string‎ | byte
在头文件 <cstring> 中定义
std::size_t strcspn( const char *dest, const char *src );

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

函数名称代表“补余跨度”。

目录

[编辑] 参数

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

[编辑] 返回值

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

[编辑] 示例

#include <cstddef>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <string>
 
int main()
{
    std::string s = "abcde312$#@";
    const char* invalid = "*$#";
 
    const std::size_t valid_len = std::strcspn(s.c_str(), invalid);
    if (valid_len != s.size())
    {
        std::cout << std::quoted(s)
                  << " contains invalid chars starting at position "
                  << valid_len << '\n'
                  << std::string(valid_len + 1, '-') << "^\n";
    }
}

输出

"abcde312$#@" contains invalid chars starting at position 8
---------^

[编辑] 参阅

返回由另一个字节字符串中找到的字符组成的最大初始段的长度
的字符
(函数) [编辑]
返回由另一个字节字符串中找到的字符组成的最大初始段的长度
仅当另一个宽字符串中找到宽字符时
(函数) [编辑]
查找分隔符集中任何字符的第一个位置
(函数) [编辑]
查找字符的首次出现
(std::basic_string<CharT,Traits,Allocator> 的公共成员函数) [编辑]
C 文档 用于 strcspn