Share via


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 a isupper y toupper llama a islower).
  • Convierten c si c 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 que iswupper 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.

Consulte también

Conversión de datos
Locale
is, isw rutinas