Namespaces
Variants

std:: iswspace

From cppreference.net
Definido en el encabezado <cwctype>
int iswspace ( wint_t ch ) ;

Comprueba si el carácter ancho dado es un carácter de espacio en blanco ancho según la clasificación de la configuración regional de C actualmente instalada. En la configuración regional predeterminada, los caracteres de espacio en blanco son los siguientes:

  • Espacio ( 0x20 , ' ' )
  • Salto de página ( 0x0c , ' \f ' )
  • Salto de línea ( 0x0a , ' \n ' )
  • Retorno de carro ( 0x0d , ' \r ' )
  • Tabulador horizontal ( 0x09 , ' \t ' )
  • Tabulador vertical ( 0x0b , ' \v ' ).

Si el valor de ch no es representable como un wchar_t ni igual al valor de la macro WEOF , el comportamiento es indefinido.

Contenidos

Parámetros

ch - carácter ancho

Valor de retorno

Valor distinto de cero si el carácter ancho es un carácter de espacio en blanco, cero en caso contrario.

Notas

ISO 30112 define los caracteres de espacio POSIX como los caracteres Unicode U+0009..U+000D, U+0020, U+1680, U+180E, U+2000..U+2006, U+2008..U+200A, U+2028, U+2029, U+205F y U+3000.

Ejemplo

Demuestra el uso de iswspace con diferentes configuraciones regionales.

#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");
}

Salida:

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

Véase también

verifica si un carácter está clasificado como espacio en blanco por una configuración regional
(plantilla de función)
verifica si un carácter es un carácter de espacio
(función)
Documentación de C para iswspace
Valores ASCII caracteres

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

decimal hexadecimal octal
0–8 \x0 \x8 \0 \10 códigos de control ( NUL , etc.) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 tabulación ( \t ) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA \xD \12 \15 espacios en blanco ( \n , \v , \f , \r ) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE \x1F \16 \37 códigos de control ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 espacio 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 carácter de retroceso ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0