Standard library header <cwchar>
From cppreference.net
Este encabezado estaba originalmente en la biblioteca estándar de C como <wchar.h> .
Este encabezado es parte de las bibliotecas de cadenas wide y multibyte terminadas en nulo. También proporciona algunas funciones de E/S estilo C y conversión desde Fecha estilo C .
Contenidos |
Macros
|
constante de puntero nulo definida por la implementación
(constante macro) |
|
|
WEOF
|
un valor no-carácter de tipo
std::wint_t
utilizado para indicar errores
(constante macro) |
|
WCHAR_MIN
|
el valor válido más pequeño de
wchar_t
(constante macro) |
|
WCHAR_MAX
|
el valor válido más grande de
wchar_t
(constante macro) |
Tipos
|
información de estado de conversión necesaria para iterar cadenas de caracteres multibyte
(clase) |
|
|
tipo entero sin signo devuelto por el operador
sizeof
(typedef) |
|
wint_t
|
tipo entero que puede contener cualquier carácter ancho válido y al menos un valor adicional |
|
tipo de tiempo calendario
(clase) |
Funciones
Manipulación de cadenas |
|
|
copia una cadena ancha a otra
(función) |
|
|
copia una cierta cantidad de caracteres anchos de una cadena a otra
(función) |
|
|
añade una copia de una cadena ancha a otra
(función) |
|
|
agrega una cierta cantidad de caracteres anchos de una cadena ancha a otra
(función) |
|
transforma una cadena ancha para que
wcscmp
produzca el mismo resultado que
wcscoll
(función) |
|
Examen de cadenas |
|
|
devuelve la longitud de una cadena ancha
(función) |
|
|
compara dos cadenas anchas
(función) |
|
|
compara una cantidad determinada de caracteres de dos cadenas anchas
(función) |
|
|
compara dos cadenas anchas de acuerdo a la configuración regional actual
(función) |
|
|
encuentra la primera ocurrencia de un carácter ancho en una cadena ancha
(función) |
|
|
encuentra la última ocurrencia de un carácter ancho en una cadena ancha
(función) |
|
|
devuelve la longitud del segmento inicial máximo que consiste
únicamente de los caracteres anchos encontrados en otra cadena ancha (función) |
|
|
devuelve la longitud del segmento inicial máximo que consiste
únicamente de caracteres anchos no encontrados en otra cadena ancha (función) |
|
|
encuentra la primera ubicación de cualquier carácter ancho en una cadena ancha, en otra cadena ancha
(función) |
|
|
encuentra la primera ocurrencia de una cadena ancha dentro de otra cadena ancha
(función) |
|
|
encuentra el siguiente token en una cadena ancha
(función) |
|
Manipulación de arreglos de caracteres anchos |
|
|
copia una cierta cantidad de caracteres anchos entre dos arreglos que no se superponen
(función) |
|
|
copia una cierta cantidad de caracteres anchos entre dos arreglos, posiblemente superpuestos
(función) |
|
|
compara una cierta cantidad de caracteres anchos de dos arreglos
(función) |
|
|
encuentra la primera ocurrencia de un carácter ancho en un arreglo de caracteres anchos
(función) |
|
|
copia el carácter ancho dado a cada posición en un arreglo de caracteres anchos
(función) |
|
Conversión de caracteres multibyte/ancho |
|
|
verifica si el objeto
std::mbstate_t
representa el estado de desplazamiento inicial
(función) |
|
|
amplía un carácter estrecho de un solo byte a carácter ancho, si es posible
(función) |
|
|
reduce un carácter ancho a un carácter estrecho de un solo byte, si es posible
(función) |
|
|
devuelve el número de bytes en el siguiente carácter multibyte, dado el estado
(función) |
|
|
convierte el siguiente carácter multibyte a carácter ancho, dado el estado
(función) |
|
|
convierte un carácter ancho a su representación multibyte, dado un estado
(función) |
|
|
convierte una cadena de caracteres multibyte estrecha a cadena ancha, dado el estado
(función) |
|
|
convierte una cadena ancha a una cadena de caracteres multibyte estrecha, dado un estado
(función) |
|
Entrada/Salida |
|
|
obtiene un carácter ancho de un flujo de archivo
(función) |
|
|
obtiene una cadena ancha de un flujo de archivo
(función) |
|
|
escribe un carácter ancho a un flujo de archivo
(función) |
|
|
escribe una cadena ancha en un flujo de archivo
(función) |
|
|
lee un carácter ancho desde
stdin
(función) |
|
|
escribe un carácter ancho en
stdout
(función) |
|
|
coloca un carácter ancho de vuelta en un flujo de archivo
(función) |
|
|
cambia un flujo de archivo entre E/S de caracteres anchos y E/S de caracteres estrechos
(función) |
|
|
lee entrada formateada de caracteres anchos desde
stdin
, un flujo de archivo o un búfer
(función) |
|
|
(C++11)
(C++11)
(C++11)
|
lee entrada formateada de caracteres anchos desde
stdin
, un flujo de archivo
o un búfer usando una lista de argumentos variables (función) |
|
imprime salida de caracteres anchos formateada a
stdout
, un flujo de archivo o un búfer
(función) |
|
|
imprime salida formateada de caracteres anchos hacia
stdout
, un flujo de archivo
o un búfer usando una lista de argumentos variable (función) |
|
Conversiones de cadenas |
|
|
convierte un objeto
std::tm
a representación textual personalizada de cadena ancha
(función) |
|
|
convierte una cadena ancha a un valor entero
(función) |
|
|
convierte una cadena ancha a un valor entero sin signo
(función) |
|
|
convierte una cadena ancha a un valor de punto flotante
(función) |
|
Notas
- NULL también se define en los siguientes encabezados:
- std::size_t también se define en los siguientes encabezados:
-
std::wint_ttambién se define en los siguientes encabezados: - std::tm también se define en los siguientes encabezados:
Sinopsis
namespace std { using size_t = /* ver descripción */; // freestanding using mbstate_t = /* ver descripción */; // freestanding using wint_t = /* ver descripción */; // freestanding struct tm; int fwprintf(FILE* stream, const wchar_t* format, ...); int fwscanf(FILE* stream, const wchar_t* format, ...); int swprintf(wchar_t* s, size_t n, const wchar_t* format, ...); int swscanf(const wchar_t* s, const wchar_t* format, ...); int vfwprintf(FILE* stream, const wchar_t* format, va_list arg); int vfwscanf(FILE* stream, const wchar_t* format, va_list arg); int vswprintf(wchar_t* s, size_t n, const wchar_t* format, va_list arg); int vswscanf(const wchar_t* s, const wchar_t* format, va_list arg); int vwprintf(const wchar_t* format, va_list arg); int vwscanf(const wchar_t* format, va_list arg); int wprintf(const wchar_t* format, ...); int wscanf(const wchar_t* format, ...); wint_t fgetwc(FILE* stream); wchar_t* fgetws(wchar_t* s, int n, FILE* stream); wint_t fputwc(wchar_t c, FILE* stream); int fputws(const wchar_t* s, FILE* stream); int fwide(FILE* stream, int mode); wint_t getwc(FILE* stream); wint_t getwchar(); wint_t putwc(wchar_t c, FILE* stream); wint_t putwchar(wchar_t c); wint_t ungetwc(wint_t c, FILE* stream); double wcstod(const wchar_t* nptr, wchar_t** endptr); float wcstof(const wchar_t* nptr, wchar_t** endptr); long double wcstold(const wchar_t* nptr, wchar_t** endptr); long int wcstol(const wchar_t* nptr, wchar_t** endptr, int base); long long int wcstoll(const wchar_t* nptr, wchar_t** endptr, int base); unsigned long int wcstoul(const wchar_t* nptr, wchar_t** endptr, int base); unsigned long long int wcstoull(const wchar_t* nptr, wchar_t** endptr, int base); wchar_t* wcscpy(wchar_t* s1, const wchar_t* s2); // freestanding wchar_t* wcsncpy(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding wchar_t* wmemcpy(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding wchar_t* wcscat(wchar_t* s1, const wchar_t* s2); // freestanding wchar_t* wcsncat(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding int wcscmp(const wchar_t* s1, const wchar_t* s2); // freestanding int wcscoll(const wchar_t* s1, const wchar_t* s2); int wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n); // freestanding size_t wcsxfrm(wchar_t* s1, const wchar_t* s2, size_t n); int wmemcmp(const wchar_t* s1, const wchar_t* s2, size_t n); // freestanding const wchar_t* wcschr(const wchar_t* s, wchar_t c); // freestanding wchar_t* wcschr(wchar_t* s, wchar_t c); // freestanding size_t wcscspn(const wchar_t* s1, const wchar_t* s2); // freestanding const wchar_t* wcspbrk(const wchar_t* s1, const wchar_t* s2); // freestanding wchar_t* wcspbrk(wchar_t* s1, const wchar_t* s2); // freestanding const wchar_t* wcsrchr(const wchar_t* s, wchar_t c); // freestanding wchar_t* wcsrchr(wchar_t* s, wchar_t c); // freestanding size_t wcsspn(const wchar_t* s1, const wchar_t* s2); // freestanding const wchar_t* wcsstr(const wchar_t* s1, const wchar_t* s2); // freestanding wchar_t* wcsstr(wchar_t* s1, const wchar_t* s2); // freestanding wchar_t* wcstok(wchar_t* s1, const wchar_t* s2, wchar_t** ptr); // freestanding const wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n); // freestanding wchar_t* wmemchr(wchar_t* s, wchar_t c, size_t n); // freestanding size_t wcslen(const wchar_t* s); // freestanding wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n); // freestanding size_t wcsftime(wchar_t* s, size_t maxsize, const wchar_t* format, const tm* timeptr); wint_t btowc(int c); int wctob(wint_t c); // funciones de conversión de cadenas y caracteres multibyte/wide int mbsinit(const mbstate_t* ps); size_t mbrlen(const char* s, size_t n, mbstate_t* ps); size_t mbrtowc(wchar_t* pwc, const char* s, size_t n, mbstate_t* ps); size_t wcrtomb(char* s, wchar_t wc, mbstate_t* ps); size_t mbsrtowcs(wchar_t* dst, const char** src, size_t len, mbstate_t* ps); size_t wcsrtombs(char* dst, const wchar_t** src, size_t len, mbstate_t* ps); } #define NULL /* ver descripción */ // freestanding #define WCHAR_MAX /* ver descripción */ // freestanding #define WCHAR_MIN /* ver descripción */ // freestanding #define WEOF /* ver descripción */ // freestanding
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 345 | C++98 |
std::tm
no estaba proporcionado en
<cwchar>
|
proporcionado |