Funzioni toto Functions

Ognuna delle funzioni to e le relative macro associate, se presenti, convertono un singolo carattere in un altro carattere.Each of the to functions and its associated macro, if any, converts a single character to another character.

__toascii__toascii toupper, _toupper, towuppertoupper, _toupper, towupper
tolower, _tolower, towlowertolower, _tolower, towlower

OsservazioniRemarks

Le conversioni delle funzioni to e delle macro sono le seguenti.The to functions and macro conversions are as follows.

RoutineRoutine MacroMacro DescrizioneDescription
__toascii __toascii Converte c in un carattere ASCIIConverts c to ASCII character
tolower tolower Converte c in minuscolo se appropriatoConverts c to lowercase if appropriate
_tolower _tolower Converte c in minuscoloConverts c to lowercase
towlower NessunoNone Converte c nella lettera minuscola con carattere wide corrispondenteConverts c to corresponding wide-character lowercase letter
toupper toupper Converte c in maiuscolo se appropriatoConverts c to uppercase if appropriate
_toupper _toupper Converte c in maiuscoloConverts c to uppercase
towupper NessunoNone Converte c nella lettera maiuscola con carattere wide corrispondenteConverts c to corresponding wide-character uppercase letter

Per usare le versioni funzione delle routine to definite anche come macro, rimuovere le definizioni di macro con le direttive #undef o non includere CTYPE.H.To use the function versions of the to routines that are also defined as macros, either remove the macro definitions with #undef directives or do not include CTYPE.H. Se si usa l'opzione del compilatore /Za, il compilatore usa la versione funzione di toupper o tolower.If you use the /Za compiler option, the compiler uses the function version of toupper or tolower. Le dichiarazioni delle funzioni toupper e tolower sono in STDLIB.H.Declarations of the toupper and tolower functions are 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.The __toascii routine sets all but the low-order 7 bits of c to 0, so that the converted value represents a character in the ASCII character set. Se c rappresenta già un carattere ASCII, c rimane invariato.If c already represents an ASCII character, c is unchanged.

Le routine tolower e toupper:The tolower and toupper routines:

  • Sono dipendenti dalla categoria LC_CTYPE delle impostazioni locali correnti (tolower chiama isupper e toupper chiama islower).Are dependent on the LC_CTYPE category of the current locale (tolower calls isupper and toupper calls islower).

  • Convertono c se c 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.Convert c if c represents a convertible letter of the appropriate case in the current locale and the opposite case exists for that locale. In caso contrario, c non viene modificato.Otherwise, c is unchanged.

    Le routine _tolower e _toupper:The _tolower and _toupper routines:

  • Sono versioni indipendenti dalle impostazioni locali e molto più veloci di tolower e toupper.Are locale-independent, much faster versions of tolower and toupper.

  • Possono essere usate solo quando isascii(c) e rispettivamente isupper(c) o islower(c) sono diversi da zero.Can be used only when isascii(c) and either isupper(c) or islower(c), respectively, are nonzero.

  • Hanno risultati indefiniti se c non è una lettera ASCII con la combinazione di maiuscole/minuscole appropriata per la conversione.Have undefined results if c is not an ASCII letter of the appropriate case for converting.

    Le funzioni towlower e towupper restituiscono una copia convertita di c se e solo se entrambe le condizioni seguenti sono diverse da zero.The towlower and towupper functions return a converted copy of c if and only if both of the following conditions are nonzero. In caso contrario, c non viene modificato.Otherwise, c is unchanged.

  • c è un carattere wide con la combinazione di maiuscole/minuscole appropriata (ovvero, per cui iswupper o iswlower è rispettivamente diverso da zero).c is a wide character of the appropriate case (that is, for which iswupper or iswlower, respectively, is nonzero).

  • È disponibile un carattere wide corrispondente con la combinazione di maiuscole/minuscole di destinazione (ovvero, per cui iswlower o iswupper è rispettivamente diverso da zero).There is a corresponding wide character of the target case (that is, for which iswlower or iswupper, respectively, is nonzero).

EsempioExample

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

Vedere ancheSee Also

Conversione dei dati Data Conversion
Impostazioni locali Locale
Routine is, iswis, isw Routines