Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::strcspn(3)		      C++ Standard Libary	       std::strcspn(3)

NAME
       std::strcspn - std::strcspn

Synopsis
	  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 charac-
       ters 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
	  strspn	of only	the characters found in	another	byte string
			(function)
			returns	the length of the maximum initial segment that
       consists
	  wcscspn	of only	the wide not found in another wide string
			(function)
	  strpbrk	finds the first	location of any	character from	a  set
       of separators
			(function)
	  find_first_of	find first occurrence of characters
			(public	     member	 function      of     std::ba-
       sic_string<CharT,Traits,Allocator>)

http://cppreference.com		  2022.07.31		       std::strcspn(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::strcspn&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help