to funzioni
Ognuno di in le funzioni e la macro associata, se presente, converte un singolo carattere a un altro carattere.
|
Note
in le funzioni e le conversioni di macro sono indicati di seguito.
routine |
Macro |
Descrizione |
---|---|---|
__toascii |
__toascii |
Converte c a carattere ASCII |
tolower |
tolower |
Converte c su se richiesto minuscolo |
_tolower |
_tolower |
Converte c in minuscolo |
towlower |
Nessuno |
Converte c in minuscolo a caratteri estesi corrispondente |
toupper |
toupper |
Converte c su se richiesto maiuscolo |
_toupper |
_toupper |
Converte c in maiuscolo |
towupper |
Nessuno |
Converte la c alla lettera maiuscola a caratteri estesi corrispondente |
Per utilizzare le versioni di funzioni in le routine che sono definite come macro, spostandosi rimuovere le definizioni di macro con #undef le direttive o non includono CTYPE.H.Se si utilizza l'opzione del compilatore /Za, il compilatore utilizza la versione della funzione toupper o tolower.Dichiarazioni di toupper e tolower le funzioni sono in STDLIB.H.
__toascii la routine imposta tutti ma i 7 bit meno significativi di c a 0, in modo che il valore convertito rappresenta un carattere nel set di caratteri ASCII.se c già rappresenta un carattere ASCII, c è invariato.
tolower e toupper procedura:
Dipendere da LC_CTYPE categoria di impostazioni locali correnti (tolower chiamate isupper e toupper chiamate islower).
convertito c se c rappresenta una lettera convertibile nel caso appropriato per le impostazioni locali correnti e il caso opposto esiste per tali impostazioni.In caso contrario, c è invariato.
_tolower e _toupper procedura:
È l'impostazioni test, versioni molto più veloci rispetto tolower e toupper.
Può essere utilizzato solo quando isascii (c) e uno isupper (c) o islower (c), rispettivamente, essere diverso da zero.
Definita i risultati se c non è un carattere alfabetico ASCII dell'argomento appropriato per convertire.
towlower e towupper le funzioni restituiscono una copia convertita di c se e solo se entrambe le condizioni seguenti sono singole da zero.In caso contrario, c è invariato.
c è un carattere di tipo " wide " di eventi appropriato (ovvero per cui iswupper o iswlower, rispettivamente, è diverso da zero).
Esiste un carattere di tipo corrispondente del caso di destinazione (ovvero per cui iswlower o iswupper, rispettivamente, è diverso da zero).
Esempio
// 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 );
}
}