Spec-Zone.ru › C++

std::iswctype

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

Классифицирует широкий символ wc с использованием категории LC_CTYPE текущей локали C, определяемой 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/cpp/string/wide/iswctype

Spec-Zone.ru

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