std::strcspn - cppreference.com

##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::strcspn

From cppreference.com
< cpp‎ | string‎ | byte

Defined in header `<cstring>` |  |
size_t strcspn( const char *dest, const char *src ); |  |

Returns the length of the maximum initial segment of the byte string pointed to by `dest`, that consists of only the characters not found in byte string pointed to by `src`.

The function name stands for "complementary span"

### [edit] Parameters

dest | - | pointer to the null-terminated byte string to be analyzed
src | - | pointer to the null-terminated byte string that contains the characters to search for

### [edit] Return value

The length of the maximum initial segment that contains only characters not found in the byte string pointed to by `src`

### [edit] Example

Run this code

    #include <string>
    #include <cstring>
    #include <iostream>

    const char* invalid = "*$#";
    int main()
    {
        std::string s = "abcde312$#@";

        size_t valid_len = std::strcspn(s.c_str(), invalid);
        if(valid_len != s.size())
           std::cout << "'" << s << "' contains invalid chars starting aa position "
                     << valid_len << '\n';
    }

Output:

    'abcde312$#@' contains invalid chars starting aa position 8

### [edit] See also

strspn | returns the length of the maximum initial segment that consists of only the characters found in another byte string (function) [edit]
wcscspn | returns the length of the maximum initial segment that consists of only the wide not found in another wide string (function) [edit]
strpbrk | finds the first location of any character from a set of separators (function) [edit]
C documentation for strcspn

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/string/byte/strcspn&oldid=75916"