Namespaces
Variants

std:: towupper

From cppreference.net
Definido en el encabezado <cwctype>

Convierte el carácter ancho dado a mayúsculas, si es posible.

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 a convertir

Valor de retorno

Versión en mayúsculas de ch o ch sin modificar si no existe una versión en mayúsculas en la configuración regional actual de C.

Notas

Solo se puede realizar un mapeo de caracteres 1:1 mediante esta función, por ejemplo, la forma en mayúsculas de 'ß' es (con algunas excepciones) la cadena de dos caracteres "SS" , que no puede obtenerse mediante std::towupper .

ISO 30112 especifica qué pares de caracteres Unicode están incluidos en este mapeo.

Ejemplo

La letra latina 'ſ' (U+017F) es la forma minúscula alternativa de 'S' (U+0053).

#include <clocale>
#include <cwctype>
#include <iostream>
int main()
{
    wchar_t c = L'\u017f'; // Latin small letter Long S ('ſ')
    std::cout << std::hex << std::showbase;
    std::cout << "in the default locale, towupper("
              << static_cast<std::wint_t>(c) << ") = "
              << std::towupper(c) << '\n';
    std::setlocale(LC_ALL, "en_US.utf8");
    std::cout << "in Unicode locale, towupper("
              << static_cast<std::wint_t>(c) << ") = "
              << std::towupper(c) << '\n';
}

Salida:

in the default locale, towupper(0x17f) = 0x17f
in Unicode locale, towupper(0x17f) = 0x53

Véase también

convierte un carácter ancho a minúsculas
(función)
convierte un carácter a mayúsculas usando la faceta ctype de una configuración regional
(plantilla de función)
convierte un carácter a mayúsculas
(función)
Documentación C para towupper