std:: btowc
|
Definido en el encabezado
<cwchar>
|
||
|
std::
wint_t
btowc
(
int
c
)
;
|
||
Amplía un carácter de un solo byte c a su equivalente de carácter ancho.
La mayoría de las codificaciones de caracteres multibyte utilizan códigos de un solo byte para representar los caracteres del conjunto de caracteres ASCII. Esta función puede utilizarse para convertir dichos caracteres a wchar_t .
Contenidos |
Parámetros
| c | - | carácter de un solo byte a ampliar |
Valor de retorno
WEOF si c es EOF .
Representación de carácter ancho de c si ( unsigned char ) c es un carácter válido de un solo byte en el estado de desplazamiento inicial, WEOF en caso contrario.
Ejemplo
#include <clocale> #include <cwchar> #include <iostream> void try_widen(char c) { std::wint_t w = std::btowc(c); if (w != WEOF) std::cout << "The single-byte character " << +(unsigned char)c << " widens to " << +w << '\n'; else std::cout << "The single-byte character " << +(unsigned char)c << " failed to widen\n"; } int main() { std::setlocale(LC_ALL, "lt_LT.iso88594"); std::cout << std::hex << std::showbase << "In Lithuanian ISO-8859-4 locale:\n"; try_widen('A'); try_widen('\xdf'); // German letter ß (U+00df) in ISO-8859-4 try_widen('\xf9'); // Lithuanian letter ų (U+0173) in ISO-8859-4 std::setlocale(LC_ALL, "lt_LT.utf8"); std::cout << "In Lithuanian UTF-8 locale:\n"; try_widen('A'); try_widen('\xdf'); try_widen('\xf9'); }
Salida posible:
In Lithuanian ISO-8859-4 locale: The single-byte character 0x41 widens to 0x41 The single-byte character 0xdf widens to 0xdf The single-byte character 0xf9 widens to 0x173 In Lithuanian UTF-8 locale: The single-byte character 0x41 widens to 0x41 The single-byte character 0xdf failed to widen The single-byte character 0xf9 failed to widen
Véase también
|
reduce un carácter ancho a un carácter estrecho de un solo byte, si es posible
(función) |
|
|
[virtual]
|
convierte un carácter o caracteres de
char
a
CharT
(función miembro protegida virtual de
std::ctype<CharT>
)
|
|
Documentación de C
para
btowc
|
|