std::strcspn
来自 cppreference.com
定义在头文件 <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 文档 for strcspn
|