Spec-Zone.ru › C++

std::iswctype

Определено в заголовке <cwctype>
int iswctype( std::wint_t wc, std::wctype_t desc );

Классифицирует широкий символ wc с использованием текущей категории локали C LC_CTYPE, идентифицируемой desc.

Если значение wc не может быть представлено как wchar_t или не равно значению макроса WEOF, поведение не определено.

Параметры

wc - широкий символ для классификации
desc - категория LC_CTYPE, полученная из вызова std::wctype

Возвращаемое значение

Неноль, если у символа wc есть свойство, определённое desc в LC_CTYPE аспекте текущей локали C; ноль в противном случае.

Пример

#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

См. также

wctype
находит категорию классификации символов в текущей локали C
(функция)
C документация для iswctype

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/wide/iswctype

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API