Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/string/byte/strcspn"

From cppreference.com
< cpp‎ | string‎ | byte
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

#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) [edit]
returns the length of the maximum initial segment that consists
of only the wide not found in another wide string
(function) [edit]
finds the first location of any character from a set of separators
(function) [edit]
find first occurrence of characters
(public member function of std::basic_string<CharT,Traits,Allocator>) [edit]
C documentation for strcspn