Namespaces
Variants

iswcntrl

From cppreference.net
< c ‎ | string ‎ | wide
Definido en el encabezado <wctype.h>
int iswcntrl ( wint_t ch ) ;
(desde C95)

Comprueba si el carácter ancho dado es un carácter de control, es decir, los códigos 0x00-0x1F y 0x7F y cualquier carácter de control específico de la configuración regional actual.

Contenidos

Parámetros

ch - carácter ancho

Valor de retorno

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

Notas

ISO 30112 define los caracteres de control POSIX como caracteres Unicode U+0000..U+001F, U+007F..U+009F, U+2028 y U+2029 (clases Unicode Cc, Zl y Zp)

Ejemplo

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
#include <wctype.h>
int main(void)
{
    wchar_t c = L'\u2028'; // el carácter Unicode "separador de línea"
    printf("In the default locale, iswcntrl(%#x) = %d\n", c, !!iswcntrl(c));
    setlocale(LC_ALL, "en_US.utf8");
    printf("In Unicode locale, iswcntrl(%#x) = %d\n", c, !!iswcntrl(c));
}

Salida:

In the default locale, iswcntrl(0x2028) = 0
In Unicode locale, iswcntrl(0x2028) = 1

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 7.30.2.1.4 La función iswcntrl (p: TBD)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.30.2.1.4 La función iswcntrl (p: TBD)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.30.2.1.4 La función iswcntrl (p: 449)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.25.2.1.4 La función iswcntrl (p: 395)

Véase también

comprueba si un carácter es un carácter de control
(función)
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 \173 \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