funcionesto
Cada una de las funciones y su macro asociada, si existe to
, convierte un carácter único en otro carácter.
__toascii
tolower
, , _tolower
, towlower
toupper
, , _toupper
, towupper
Comentarios
Las to
funciones y las conversiones de macros son las siguientes.
Routine | Macro | Descripción |
---|---|---|
__toascii |
__toascii |
Convierte c a caracteres ASCII |
tolower |
tolower |
Convierte c a minúsculas cuando proceda |
_tolower |
_tolower |
Convierte c a minúsculas |
towlower |
Ninguno | Convierte c a la correspondiente letra minúscula de caracteres anchos |
toupper |
toupper |
Convierte c a mayúsculas cuando proceda |
_toupper |
_toupper |
Convierte c a mayúsculas |
towupper |
Ninguno | Convierte c a la correspondiente letra mayúscula de caracteres anchos |
Para usar las versiones de función de las to
rutinas que también se definen como macros, quite las definiciones de macro con #undef
directivas o no incluya CTYPE.H
. Si usa la opción del compilador /Za, el compilador usa la versión de función de toupper
o tolower
. Las declaraciones de las toupper
funciones y tolower
están en STDLIB.H
.
La rutina __toascii
establece todos los bits excepto los 7 bits de orden inferior de c
en 0, por lo que el valor convertido representa un carácter en el juego de caracteres ASCII. Si c
ya representa un carácter ASCII, c
no se modifica.
Las rutinas tolower
y toupper
:
- Dependen de la categoría
LC_CTYPE
de la configuración regional actual (tolower
llama aisupper
ytoupper
llama aislower
). - Convierten
c
sic
representa una letra convertible de las correspondientes mayúsculas y minúsculas en la configuración regional actual y existe el caso contrario para esa configuración regional. De lo contrario,c
no se modifica.
Las rutinas _tolower
y _toupper
:
- Son versiones
tolower
y toupper, independientes de la configuración regional y mucho más rápidas. - Solo se pueden usar cuando isascii(
c
) y isupper(c
) o islower(c
), respectivamente, son distintas de cero. - Tenga resultados indefinidos si
c
no es una letra ASCII del caso adecuado para la conversión.
Las funciones towlower
y towupper
devuelven una copia convertida de c
solo si las dos condiciones siguientes son distintas de cero. De lo contrario, c
no se modifica.
c
es un carácter ancho de las correspondientes mayúsculas y minúsculas (es decir, para el queiswupper
o iswlower, respectivamente, sean distintas de cero).- Hay un carácter ancho correspondiente del caso de destino (es decir, para el que
iswlower
o iswupper, respectivamente, es distinto de cero).
Ejemplo
// crt_toupper.c
/* This program uses toupper and tolower to
* analyze all characters between 0x0 and 0x7F. It also
* applies _toupper and _tolower to any code in this
* range for which these functions make sense.
*/
#include <ctype.h>
#include <string.h>
#include <stdio.h>
char msg[] = "Some of THESE letters are Uppercase.";
char *p;
int main( void )
{
printf( "%s\n", msg );
/* Reverse case of message. */
for( p = msg; p < msg + strlen( msg ); p++ )
{
if( islower( *p ) )
putchar( _toupper( *p ) );
else if( isupper( *p ) )
putchar( _tolower( *p ) );
else
putchar( *p );
}
}
Some of THESE letters are Uppercase.
sOME OF these LETTERS ARE uPPERCASE.