std:: strcspn
      From cppreference.net
     
     
     | 
           定义于头文件
            
            
             <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) << " 包含无效字符,起始位置为 " << valid_len << '\n' << std::string(valid_len + 1, '-') << "^\n"; } }
输出:
"abcde312$#@" 包含无效字符,起始位置为 8 ---------^
参见
| 返回仅包含另一字节字符串中字符的最大初始段长度 (函数) | |
| 返回仅包含另一宽字符串中
         
          未
         
         出现的宽字符的最大初始段长度 (函数) | |
| 查找分隔符集中任意字符的首次出现位置 (函数) | |
| 查找字符的首次出现 ( 
           std::basic_string<CharT,Traits,Allocator>
          的公开成员函数) | |
| 
          
           
            C 文档
           
          
          for
          
           
            strcspn
           
          
          | |