C++ Locale Library - scan_not



Description

It returns first character not in category and returns the first character in the range [low,high) that does not classify into any of the categories specified in m. If no such character is found in the range, high is returned.

Declaration

Following is the declaration for std::ctype::scan_not.

C++98

	
const char_type* scan_not (mask m, const char_type* low, const char_type* high) const;

C++11

const char_type* scan_not (mask m, const char_type* low, const char_type* high) const;

Parameters

  • m − It is a bitmask of member type mask.

  • low,high − It is a pointer to the beginning and end of the sequence of characters.

Return Value

It returns a pointer to the first element in the range that classifies, or high if none is found.

Exceptions

Strong guarantee − if an exception is thrown, there are no effects.

Data races

The object, and the elements in the range [low,high), are accessed.

Example

In below example explains about std::ctype::scan_not.

#include <iostream>
#include <locale>

int main () {
   std::locale loc;

   const char period[] = "june2018";

   const char * p = std::use_facet< std::ctype<char> >(loc).scan_not 
      ( std::ctype<char>::alpha, period, period+12 );

   std::cout << "The first non-alphabetic character is: " << *p << '\n';

   return 0;
}

Let us compile and run the above program, this will produce the following result −

The first non-alphabetic character is: 2
locale.htm
Advertisements