名前空間
変種
操作

std::iswctype

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

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

wcの値がwchar_tで表現できず、マクロWEOFの値とも等しくない場合、動作は未定義です。

目次

[編集] パラメータ

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

[編集] 戻り値

文字wcが現在の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ロケールで文字分類カテゴリを検索する
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)