Spec-Zone.ru › C++

std::iswspace

Определено в заголовочном файле <cwctype>
int iswspace( wint_t ch );

Проверяет, является ли заданный широкий символ широким пробельным символом согласно текущей установленной локали C. В локали по умолчанию пробельными символами являются:

  • Пробел (0x20, ' ')
  • Перевод страницы (0x0c, '\f')
  • Перевод строки (0x0a, '\n')
  • Возврат каретки (0x0d, '\r')
  • Горизонтальная табуляция (0x09, '\t')
  • Вертикальная табуляция (0x0b, '\v').

Если значение ch нельзя представить типом wchar_t или оно не равно значению макроса WEOF, поведение не определено.

Параметры

ch - широкий символ

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

Ненулевое значение, если широкий символ является пробельным; в противном случае — ноль.

Примечания

ISO 30112 определяет пробельные символы POSIX как символы Юникода U+0009..U+000D, U+0020, U+1680, U+180E, U+2000..U+2006, U+2008..U+200A, U+2028, U+2029, U+205F и U+3000.

Пример

Демонстрирует использование iswspace с разными локалями.

#include <clocale>
#include <cwctype>
#include <iostream>

void try_with(wchar_t c, const char* loc)
{
    std::setlocale(LC_ALL, loc);
    std::wcout << "isspace('" << c << "') in " << loc << " locale returned "
               << std::boolalpha << static_cast<bool>(std::iswspace(c)) << '\n';
}

int main()
{
    const wchar_t EM_SPACE = L'\u2003'; // Unicode character 'EM SPACE'
    try_with(EM_SPACE, "C");
    try_with(EM_SPACE, "en_US.UTF8");
}

Вывод:

isspace(' ') in C locale returned false
isspace(' ') in en_US.UTF8 locale returned true

См. также

isspace(std::locale)
проверяет, классифицируется ли символ как пробельный в заданной локали
(шаблон функции)
isspace
проверяет, является ли символ пробелом
(функция)
Документация C для iswspace
Значения ASCII символы

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

десятичная шестнадцатеричная восьмеричная
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 GHIJKLMNOP
QRSTUVWXYZ
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 ghijklmnop
qrstuvwxyz
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

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

Spec-Zone.ru

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