para funções
Cada o para funções e sua macro associada, se houver, converte um único caractere em outro caractere.
|
Comentários
The para funções e conversões de macro são sistema autônomo seguintes:
Rotina |
Macro |
Descrição |
---|---|---|
__toascii |
__toascii |
Converte c caractere ASCII |
tolower |
tolower |
Converte c para em minúsculas se apropriado |
_tolower |
_tolower |
Converte c para em minúsculas |
towlower |
Nenhum |
Converte c a letra de letras em minúsculas caractere largos correspondente |
toupper |
toupper |
Converte c em maiúsculas, se apropriado |
_toupper |
_toupper |
Converte c em maiúsculas |
towupper |
Nenhum |
Converte o c em letra maiúscula de caractere largos correspondente |
Para usar sistema autônomo versões de função do para rotinas que também estão definidas sistema autônomo sistema autônomo macros, remova sistema autônomo definições de macro com #undef sistema autônomo diretivas ou não incluir CTYPE.H. Se você usar opção do compilador /Za, o compilador usa a versão da função de toupper ou tolower. Declarações do toupper e tolower funções são em STDLIB.H.
The __toascii rotina define todos, exceto os bits de ordem inferior 7 do c como 0, para que o valor convertido representa um caractere no conjunto de caracteres ASCII. If c representa um caractere ASCII, já c não é alterada.
The tolower e toupper rotinas:
São dependentes de LC_CTYPE categoria de no (localidade correntetolower chamadas isupper e toupper chamadas islower).
Converter c Se c representa que uma letra conversível apropriado na localidade corrente além de caso oposto existe para essa localidade. Caso contrário, c não é alterada.
The _tolower e _toupper rotinas:
Tem muito mais rápidos, independente de localidade e versões de tolower e ToUpper.
Pode ser usado somente quando () isasciic**)** e qualquer um dos () isupperc**)** or () islowerc**)**, respectivamente, são diferentes de zero.
Tem resultados indefinidos se c não é uma letra ASCII da caso apropriada para a conversão.
The towlower e towupper as funções retornam uma cópia convertida de c Se e somente se as duas condições a seguir são diferente de zero. Caso contrário, c não é alterada.
c é um caractere largo da caso apropriada (ou seja, para o qual iswupper ou iswlower, respectivamente, é diferente de zero).
Há um caractere correspondente amplo da caso de destino (ou seja, para o qual 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 );
}
}
Some of THESE letters are Capitals. sOME OF these LETTERS ARE cAPITALS.