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
См. также
| находит категорию классификации символов в текущей локали C (функция) |
|
Документация C для iswctype |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/wide/iswctype