std::strcspn
From cppreference.com
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"
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 |
Return value
The length of the maximum initial segment that contains only characters not found in the byte string pointed to by src
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 at position " << valid_len << '\n'; }
Output:
'abcde312$#@' contains invalid chars starting at position 8
See also
returns the length of the maximum initial segment that consists of only the characters found in another byte string (function) | |
returns the length of the maximum initial segment that consists of only the wide not found in another wide string (function) | |
finds the first location of any character from a set of separators (function) | |
find first occurrence of characters (public member function of std::basic_string ) |