std:: strcspn
From cppreference.com
Defined in header
<cstring>
|
||
std::
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 <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"; } }
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<CharT,Traits,Allocator>
)
|
|
C documentation
for
strcspn
|