std::iswalpha
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <cwctype>
|
||
int iswalpha( std::wint_t ch ); |
||
Проверяет, является ли данный широкий символ буквенным символом, т.е. буквой верхнего регистра (ABCDEFGHIJKLMNOPQRSTUVWXYZ), строчной буквой (abcdefghijklmnopqrstuvwxyz) или любым буквенным символом, специфичным для текущей локали.
Если значение ch не может быть представлено как wchar_t и не равно значению макроса WEOF, поведение неопределено.
Параметры
| ch | — | широкий символ |
Возвращаемое значение
Ненулевое значение, если широкий символ является буквенным, иначе 0.
Примечание
ISO 30112 определяет, какие символы Юникода включены в буквенную категорию POSIX.
Пример
Запустить этот код
#include <clocale>
#include <cwctype>
#include <iostream>
int main()
{
wchar_t c = L'\u0b83'; // Тамильский знак Висарга ('ஃ')
std::cout << std::hex << std::showbase << std::boolalpha;
std::cout << "в локали по умолчанию, iswalpha(" << (std::wint_t)c << ") = "
<< (bool)std::iswalpha(c) << '\n';
std::setlocale(LC_ALL, "en_US.utf8");
std::cout << "в локали Юникода, iswalpha(" << (std::wint_t)c << ") = "
<< (bool)std::iswalpha(c) << '\n';
}
Возможный вывод:
в локали по умолчанию, iswalpha(0xb83) = false
в локали Юникода, iswalpha(0xb83) = true
Смотрите также
| проверяет, классифицируется ли символ локалью как алфавитный (шаблон функции) | |
| проверяет, является ли символ буквенным (функция) | |
Документация C по iswalpha
| |
| ASCII значения | символы | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| деся-тичные | шестнад-цатерич-ные | восьме-ричные | |||||||||||||
| 0–8 | \x0–\x8
|
\0–\10
|
управляющие коды (NUL, и т.д.)
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 9 | \x9
|
\11
|
табуляция (\t)
|
≠0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 10–13 | \xA–\xD
|
\12–\15
|
пробельные (\n, \v, \f, \r)
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 14–31 | \xE–\x1F
|
\16–\37
|
управляющие коды | ≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 32 | \x20
|
\40
|
пробел | 0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 33–47 | \x21–\x2F
|
\41–\57
|
!"#$%&'()*+,-./
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 48–57 | \x30–\x39
|
\60–\71
|
0123456789
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
≠0
|
≠0
|
| 58–64 | \x3A–\x40
|
\72–\100
|
:;<=>?@
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 65–70 | \x41–\x46
|
\101–\106
|
ABCDEF
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
≠0
|
| 71–90 | \x47–\x5A
|
\107–\132
|
GHIJKLMNOPQRSTUVWXYZ
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
0
|
| 91–96 | \x5B–\x60
|
\133–\140
|
[\]^_`
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 97–102 | \x61–\x66
|
\141–\146
|
abcdef
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
0
|
≠0
|
0
|
≠0
|
| 103–122 | \x67–\x7A
|
\147–\172
|
ghijklmnopqrstuvwxyz
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
0
|
≠0
|
0
|
0
|
| 123–126 | \x7B–\x7E
|
\172–\176
|
{|}~
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
| 127 | \x7F
|
\177
|
символ возврата (DEL)
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|