Condividi tramite


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 chiama isupper e toupper chiama 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. 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 cui iswupper 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.

Vedi anche

Conversione dati
Locale
is, isw routine