C++ 本地化库 - is



描述

它用于对字符进行分类。

声明

以下是 std::ctype::is 的声明。

C++98

	
bool is (mask m, char_type c) const;	
const char_type* is (const char_type* low,
                     const char_type* high, mask* vec) const;

C++11

bool is (mask m, char_type c) const;	
const char_type* is (const char_type* low,
                     const char_type* high, mask* vec) const;

参数

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

  • c − 它是待分类的字符。

  • vec − 它是目标数组。

返回值

如果 c 属于作为 mask m 传递的任何类别,则返回 true。

异常

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

数据竞争

访问本地化对象。

示例

下面的例子解释了 std::ctype::is。

#include <iostream>
#include <locale>

int main () {
   std::locale loc;
   const char quote[] = "Tutorialspoint is a one of the best site .";

   std::cout << '"' << quote << "\"\n";
  
   std::cout << "The quote begins with an uppercase letter? ";
   std::cout << std::boolalpha;
   std::cout << std::use_facet< std::ctype<char> >(loc).is (std::ctype
      <char>::upper, quote[0]);
   std::cout << '\n';
  
   int cx = 0;
   std::ctype<char>::mask * masks = new std::ctype<char>::mask [60];
   std::use_facet< std::ctype<char> >(loc).is (quote, quote+60, masks);
   for (int i=0; i<60; ++i) if (masks[i] & std::ctype<char>::space) ++cx;
   std::cout << "The quote has " << cx << " whitespaces.\n";
   return 0;
}

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

"Tutorialspoint is a one of the best site ."
The quote begins with an uppercase letter? true
The quote has 8 whitespaces.
locale.htm
广告