最終更新日時:
が更新

履歴 編集

function
<locale>

std::ctype::is

bool
  is(mask m, charT c) const; // (1) C++98

const charT*
  is(const charT* low,
     const charT* high,
     mask* vec) const;       // (2) C++98

概要

文字の分類を判定する。

  • (1) : 文字cが分類mに該当するかを判定する
  • (2) : 範囲[low, high)の各文字の分類をvecへ格納する

戻り値

#include <iostream>
#include <locale>

int main()
{
  const auto& ct = std::use_facet<std::ctype<char>>(std::locale::classic());

  std::cout << std::boolalpha;

  // (1)
  std::cout << ct.is(std::ctype_base::digit, '5') << std::endl;
  std::cout << ct.is(std::ctype_base::alpha, '5') << std::endl;

  // (2)
  const char s[] = "a1";
  std::ctype_base::mask vec[2] = {};
  ct.is(s, s + 2, vec);

  std::cout << ((vec[0] & std::ctype_base::alpha) != 0) << std::endl;
  std::cout << ((vec[1] & std::ctype_base::digit) != 0) << std::endl;
}

出力

true
false
true
true

バージョン

言語

  • C++98

関連項目