名前空間
変種
操作

std::iswctype

提供: cppreference.com
< cpp‎ | string‎ | wide
ヘッダ <cwctype> で定義
int iswctype( std::wint_t wc, std::wctype_t desc );

desc で表される現在の C のロケールの LC_CTYPE のカテゴリを使用してワイド文字 wc を分類します。

wc の値が wchar_t として表現可能でなくマクロ WEOF の値と等しくもなければ、動作は未定義です。

目次

[編集] 引数

wc - 分類するワイド文字
desc - std::wctype の呼び出しから取得した LC_CTYPE のカテゴリ

[編集] 戻り値

文字 ch が現在の C のロケールの LC_CTYPE ファセットの desc で表される性質を持つ場合は非ゼロ、そうでなければゼロ。

[編集]

#include <clocale>
#include <cwctype>
#include <iostream>
bool classify(wchar_t wc, const std::string& cat)
{
    return std::iswctype(wc, std::wctype(cat.c_str()));
}
int main()
{
    std::setlocale(LC_ALL, "ja_JP.UTF-8");
    std::cout << "The character \u6c34 is...\n";
    for(std::string s : {"digit", "alpha", "space", "cntrl", "jkanji"})
        std::cout << s << "? " << std::boolalpha << classify(L'\u6c34', s) << '\n';
}

出力:

The character 水 is...
digit? false
alpha? true
space? false
cntrl? false
jkanji? true

[編集] 関連項目

現在の C のロケールで文字分類カテゴリを検索します
(関数) [edit]