Namespaces
Variants

std:: iswprint

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

Comprueba si el carácter ancho dado puede ser impreso, es decir, si es un número ( 0123456789 ), una letra mayúscula ( ABCDEFGHIJKLMNOPQRSTUVWXYZ ), una letra minúscula ( abcdefghijklmnopqrstuvwxyz ), un carácter de puntuación ( !"#$%&'()*+,-./:;<=>?@[\]^_`{!}~ ), un espacio o cualquier carácter imprimible específico de la configuración regional actual de C.

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 puede ser impreso, cero en caso contrario.

Notas

ISO 30112 especifica qué caracteres Unicode están incluidos en la categoría de impresión de POSIX.

Ejemplo

#include <clocale>
#include <cwctype>
#include <iostream>
void demo_iswprint(std::string_view rem, const std::wint_t c)
{
    std::cout << std::boolalpha << std::hex << std::showbase
              << rem << "iswprint('" << c << "') = "
              << !!std::iswprint(c) << '\n';
}
int main()
{
    const wchar_t c1 = L'\u2002'; // en-space
    const wchar_t c2 = L'\u0082'; // break permitted
    demo_iswprint("In default locale:\n", c1);
    std::setlocale(LC_ALL, "en_US.utf8");
    demo_iswprint("In Unicode locale:\n", c1);
    demo_iswprint("", c2);
}

Salida posible:

In default locale:
iswprint('0x2002') = false
In Unicode locale:
iswprint('0x2002') = true
iswprint('0x82') = false

Véase también

verifica si un carácter está clasificado como imprimible por una configuración regional
(plantilla de función)
verifica si un carácter es un carácter imprimible
(función)
Documentación de C para iswprint
**Nota:** El contenido dentro de las etiquetas ` ` y `
` se ha conservado sin traducción, así como todos los términos específicos de C++. Solo se ha traducido el texto fuera de estas etiquetas (en este caso, únicamente el guión "–" entre los valores numéricos, que se mantiene igual en español).
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