Partager via


fonctionsto

Chacune des to fonctions et sa macro associée, le cas échéant, convertit un caractère unique en un autre caractère.

__toascii
tolower, , _tolowertowlower
toupper, , _touppertowupper

Notes

Les to fonctions et les conversions de macros sont les suivantes.

Routine Macro Description
__toascii __toascii Convertit c en caractère ASCII
tolower tolower Convertit c en minuscules si besoin
_tolower _tolower Convertit c en minuscules
towlower Aucune Convertit c en lettre minuscule à caractères larges correspondante
toupper toupper Convertit c en majuscules si besoin
_toupper _toupper Convertit c en majuscules
towupper Aucune Convertit c en lettre majuscule à caractères larges correspondante

Pour utiliser les versions de fonction des to routines qui sont également définies en tant que macros, supprimez les définitions de macros avec #undef des directives ou n’incluez CTYPE.Hpas . Si vous utilisez l’option de compilateur /Za, le compilateur utilise la version de fonction toupper ou tolower. Les déclarations des fonctions et tolower des toupper fonctions sont dans STDLIB.H.

La routine __toascii définit tous les bits sauf les 7 bits de poids faible de c sur 0, afin que la valeur convertie représente un caractère du jeu de caractères ASCII. Si c représente déjà un caractère ASCII, c est inchangé.

Les routines tolower et toupper :

  • dépendent de la catégorie LC_CTYPE des paramètres régionaux actuels (tolower appelle isupper et toupper appelle islower) ;
  • convertissent c si c représente une lettre convertible de la casse appropriée dans les paramètres régionaux actuels et que la casse opposée existe pour ces paramètres régionaux. Sinon, c est inchangé.

Les routines _tolower et _toupper :

  • sont des versions indépendantes des paramètres régionaux et beaucoup plus rapides de tolower et toupper ;
  • peuvent être utilisées uniquement quand isascii (c) et isupper (c) ou islower (c), respectivement, sont différents de zéro ;
  • Avoir des résultats non définis s’il c ne s’agit pas d’une lettre ASCII du cas approprié pour la conversion.

Les fonctions towlower et towupper retournent une copie convertie de c si et seulement si les deux conditions suivantes sont différentes de zéro. Sinon, c est inchangé.

  • c est un caractère large de la casse appropriée (autrement dit, pour lequel iswupper ou iswlower, respectivement, sont différents de zéro).
  • Il existe un caractère large correspondant du cas cible (c’est-à-dire, pour lequel iswlower ou iswupper, respectivement, est différent de zéro).

Exemple

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

Voir aussi

Conversion de données
Locale
Routines is, isw