Difference between revisions of "cpp/string/byte/strcspn"
From cppreference.com
Line 45: | Line 45: | ||
{{dsc inc | cpp/string/wide/dsc wcscspn}} | {{dsc inc | cpp/string/wide/dsc wcscspn}} | ||
{{dsc inc | cpp/string/byte/dsc strpbrk}} | {{dsc inc | cpp/string/byte/dsc strpbrk}} | ||
+ | {{dsc inc | cpp/string/basic_string/dsc find_first_of}} | ||
{{dsc see c | c/string/byte/strcspn}} | {{dsc see c | c/string/byte/strcspn}} | ||
{{dsc end}} | {{dsc end}} |
Revision as of 06:03, 30 March 2016
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"
Contents |
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<CharT,Traits,Allocator> )
| |
C documentation for strcspn
|