std:: tolower
|
Definido en el encabezado
<cctype>
|
||
|
int
tolower
(
int
ch
)
;
|
||
Convierte el carácter dado a minúsculas de acuerdo con las reglas de conversión de caracteres definidas por la configuración regional de C actualmente instalada.
En la configuración regional predeterminada
"C"
, las siguientes letras mayúsculas
ABCDEFGHIJKLMNOPQRSTUVWXYZ
se reemplazan con sus respectivas letras minúsculas
abcdefghijklmnopqrstuvwxyz
.
Contenidos |
Parámetros
| ch | - | carácter a convertir. Si el valor de ch no es representable como unsigned char y no es igual a EOF , el comportamiento es indefinido |
Valor de retorno
Versión en minúsculas de ch o ch sin modificar si no existe una versión en minúsculas en la configuración regional actual de C.
Notas
Al igual que todas las demás funciones de
<cctype>
, el comportamiento de
std::tolower
es indefinido si el valor del argumento no es representable como
unsigned
char
ni igual a
EOF
. Para usar estas funciones de forma segura con
char
simples (o
signed
char
s), el argumento debe convertirse primero a
unsigned
char
:
char my_tolower(char ch) { return static_cast<char>(std::tolower(static_cast<unsigned char>(ch))); }
Del mismo modo, no deben usarse directamente con algoritmos estándar cuando el tipo de valor del iterador es char o signed char . En su lugar, convierta el valor a unsigned char primero:
std::string str_tolower(std::string s) { std::transform(s.begin(), s.end(), s.begin(), // static_cast<int(*)(int)>(std::tolower) // incorrecto // [](int c){ return std::tolower(c); } // incorrecto // [](char c){ return std::tolower(c); } // incorrecto [](unsigned char c){ return std::tolower(c); } // correcto ); return s; }
Ejemplo
#include <cctype> #include <clocale> #include <iostream> int main() { unsigned char c = '\xb4'; // the character Ž in ISO-8859-15 // but ´ (acute accent) in ISO-8859-1 std::setlocale(LC_ALL, "en_US.iso88591"); std::cout << std::hex << std::showbase; std::cout << "in iso8859-1, tolower('0xb4') gives " << std::tolower(c) << '\n'; std::setlocale(LC_ALL, "en_US.iso885915"); std::cout << "in iso8859-15, tolower('0xb4') gives " << std::tolower(c) << '\n'; }
Salida posible:
in iso8859-1, tolower('0xb4') gives 0xb4
in iso8859-15, tolower('0xb4') gives 0xb8
Véase también
|
convierte un carácter a mayúsculas
(función) |
|
convierte un carácter a minúsculas usando el facet
ctype
de una configuración regional
(plantilla de función) |
|
|
convierte un carácter ancho a minúsculas
(función) |
|
|
Documentación C
para
tolower
|
|
Enlaces externos
| 1. | ISO/IEC 8859-1 . De Wikipedia. |
| 2. | ISO/IEC 8859-15 . De Wikipedia. |