Compartilhar via


Funções to

Cada uma das funções de to e seu macro associada, se houver, converte um único caractere para outro caractere.

__toascii

toupper, _toupper, towupper

tolower, _tolower, towlower

 

Comentários

As funções de to e as conversões macro são como se segue.

Rotina

Macro

Descrição

__toascii

__toascii

Converte c ao caractere ASCII

tolower

tolower

Converte c minúsculas se apropriado

_tolower

_tolower

Converte c minúsculas

towlower

Nenhum

Converte c a letra minúscula correspondente ampla de caracteres

toupper

toupper

Converte c se apropriado para letras maiúsculas

_toupper

_toupper

Converte c para letras maiúsculas

towupper

Nenhum

Converte c a letra maiúscula correspondente ampla de caracteres

Para usar as versões da função de rotinas de to que também são definidas como macros, remova as definições macro com políticas de #undef ou não inclua CTYPE.H. Se você usar a opção do compilador do /Za, o compilador usa a versão da função de toupper ou de tolower. As declarações das funções de toupper e de tolower estão em. STDLIB.H.

A rotina de __toascii define todos menos os bits de ordem mais inferior de c 7 a 0, de forma que o valor convertido representa um caractere no conjunto de caracteres ASCII. Se já c representa um caractere ASCII, c permanecerá inalterado.

As rotinas de tolower e de toupper :

  • É dependente da categoria de LC_CTYPE de localidade atual (tolower chama isupper e toupper chama islower).

  • Converter c se c representa uma letra conversível dos casos apropriadas na localidade atual e os casos opostos existem para essa localidade. Caso contrário, c permanecerá inalterado.

As rotinas de _tolower e de _toupper :

  • As versões de localidade independentes, muito mais rápido de tolower e toupper.

  • Pode ser usado quando isascii(c) e isupper(c) ou islower(c), respectivamente, for diferente de zero.

  • Tem resultados indefinidos se c não é uma letra ASCII dos argumentos apropriados para converter.

As funções de towlower e de towupper retornam uma cópia convertida de c se e somente se ambas as condições forem diferentes de zero. Caso contrário, c permanecerá inalterado.

  • c é um caractere largo dos casos adequados (ou seja, para que iswupper ou iswlower, respectivamente, é diferente de zero).

  • Há um caractere largo correspondente dos exemplos de destino (ou seja, para que iswlower ou iswupper, respectivamente, é diferente de zero).

Exemplo

// 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>

char msg[] = "Some of THESE letters are Capitals.";
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 );
   }
}
  

Consulte também

Referência

Conversão de dados

Localidade

Rotinas is, isw