std::strcspn
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Text processing library
Regular expressions library (C++11)
Formatting library (C++20)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++26)
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".
Contents
[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 <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 ---------^
[edit] See also
returns the length of the maximum initial segment that consists
of only the characters found in another byte string
(function) [edit]
of only the characters found in another byte string
(function) [edit]
returns the length of the maximum initial segment that consists
of only the wide not found in another wide string
(function) [edit]
of only the wide not found in another wide string
(function) [edit]
find first occurrence of characters
(public member function of
(public member function of
std::basic_string<CharT,Traits,Allocator>
) [edit]
C documentation for strcspn