std:: tolower (std::locale)
| Localization library | |||||||||||||||||||||||||
| Regular expressions library (C++11) | |||||||||||||||||||||||||
| Formatting library (C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definido en el encabezado
<locale>
|
||
|
template
<
class
CharT
>
CharT tolower ( CharT ch, const locale & loc ) ; |
||
Convierte el carácter ch a minúscula si es posible, utilizando las reglas de conversión especificadas por el facet std::ctype de la configuración regional dada.
Contenidos |
Parámetros
| ch | - | carácter |
| loc | - | configuración regional |
Valor de retorno
Devuelve la forma en minúsculas de ch si está listada en la configuración regional, de lo contrario devuelve ch sin cambios.
Notas
Solo se puede realizar un mapeo de caracteres 1:1 mediante esta función, por ejemplo, la letra griega mayúscula 'Σ' tiene dos formas minúsculas, dependiendo de la posición en una palabra: 'σ' y 'ς'. Una llamada a std::tolower no puede utilizarse para obtener la forma minúscula correcta en este caso.
Implementación posible
template<class CharT> CharT tolower(CharT ch, const std::locale& loc) { return std::use_facet<std::ctype<CharT>>(loc).tolower(ch); } |
Ejemplo
#include <cwctype> #include <iostream> #include <locale> int main() { wchar_t c = L'\u0190'; // Latin capital open E ('Ɛ') std::cout << std::hex << std::showbase; std::cout << "in the default locale, tolower(" << (std::wint_t)c << ") = " << (std::wint_t)std::tolower(c, std::locale()) << '\n'; std::cout << "in Unicode locale, tolower(" << (std::wint_t)c << ") = " << (std::wint_t)std::tolower(c, std::locale("en_US.utf8")) << '\n'; }
Salida posible:
in the default locale, tolower(0x190) = 0x190 in Unicode locale, tolower(0x190) = 0x25b
Véase tambié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 minúsculas
(función) |
|
|
convierte un carácter ancho a minúsculas
(función) |