Пространства имён
Варианты
Действия

std::iswspace

Материал из cppreference.com
 
 
 
Широкие строки с завершающим нулём
Функции
Операции с символами
Преобразования в числовые форматы
(C++11)(C++11)
(C++11)(C++11)
Операции со строками
Операции с массивами
 
<tbody> </tbody>
Определено в заголовочном файле <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 << "') в " << loc << " локали возвращает "
               << std::boolalpha << static_cast<bool>(std::iswspace(c)) << '\n';
}

int main()
{
    const wchar_t EM_SPACE = L'\u2003'; // Символ Юникода 'EM SPACE'
    try_with(EM_SPACE, "C");
    try_with(EM_SPACE, "en_US.UTF8");
}

Вывод:

isspace(' ') в C локали возвращает false
isspace(' ') в en_US.UTF8 локали возвращает true

Смотрите также

проверяет, классифицируется ли символ локалью как пробел
(шаблон функции) [править]
проверяет, является ли символ пробелом
(функция) [править]
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