to
funzioni
Ognuna delle funzioni e della to
macro associata, se presente, converte un singolo carattere in un altro carattere.
__toascii
tolower
, _tolower
, towlower
toupper
, _toupper
, towupper
Osservazioni:
Le to
funzioni e le conversioni di macro sono le seguenti.
Ciclo | Macro | Descrizione |
---|---|---|
__toascii |
__toascii |
Converte c in un carattere ASCII |
tolower |
tolower |
Converte c in minuscolo se appropriato |
_tolower |
_tolower |
Converte c in minuscolo |
towlower |
None | Converte c nella lettera minuscola con carattere wide corrispondente |
toupper |
toupper |
Converte c in maiuscolo se appropriato |
_toupper |
_toupper |
Converte c in maiuscolo |
towupper |
None | Converte c nella lettera maiuscola con carattere wide corrispondente |
Per usare le versioni delle funzioni delle to
routine definite anche come macro, rimuovere le definizioni di macro con #undef
direttive o non includere CTYPE.H
. Se si usa l'opzione del compilatore /Za, il compilatore usa la versione funzione di toupper
o tolower
. Le dichiarazioni delle toupper
funzioni e tolower
sono in STDLIB.H
.
La routine __toascii
imposta tutti i bit tranne i 7 bit di ordine inferiore di c
su 0, in modo che il valore convertito rappresenti un carattere nel set di caratteri ASCII. Se c
rappresenta già un carattere ASCII, c
rimane invariato.
Le routine tolower
e toupper
:
- Sono dipendenti dalla categoria
LC_CTYPE
delle impostazioni locali correnti (tolower
chiamaisupper
etoupper
chiamaislower
). - Convertono
c
sec
rappresenta una lettera convertibile con la combinazione di maiuscole/minuscole appropriata nelle impostazioni locali correnti ed esiste la combinazione di maiuscole/minuscole opposta per tali impostazioni locali. In caso contrario,c
non viene modificato.
Le routine _tolower
e _toupper
:
- Sono versioni indipendenti dalle impostazioni locali e molto più veloci di
tolower
e toupper. - Possono essere usate solo quando isascii(
c
) e rispettivamente isupper(c
) o islower(c
) sono diversi da zero. - Avere risultati non definiti se
c
non è una lettera ASCII del caso appropriato per la conversione.
Le funzioni towlower
e towupper
restituiscono una copia convertita di c
se e solo se entrambe le condizioni seguenti sono diverse da zero. In caso contrario, c
non viene modificato.
c
è un carattere wide con la combinazione di maiuscole/minuscole appropriata (ovvero, per cuiiswupper
o iswlower è rispettivamente diverso da zero).- Esiste un carattere wide corrispondente del caso di destinazione ( ovvero per il quale
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>
#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.