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
См. также
| находит категорию классификации символов в текущей локали 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