C++ 本地化库 - scan_not



描述

它返回范围内第一个不在指定类别中的字符,即返回在[low,high)范围内第一个不属于m中指定任何类别的字符。如果在该范围内找不到这样的字符,则返回high。

声明

以下是 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;

参数

  • m − 它是成员类型 mask 的位掩码。

  • low,high − 它们是指向字符序列的开始和结束位置的指针。

返回值

它返回指向范围内第一个符合分类的元素的指针,如果找不到则返回 high。

异常

强保证 − 如果抛出异常,则没有任何影响。

数据竞争

访问对象以及 [low,high) 范围内的元素。

示例

下面的例子解释了 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;
}

让我们编译并运行上面的程序,这将产生以下结果:

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