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
, , _tolower
towlower
toupper
, , _toupper
towupper
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.H
pas . 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
appelleisupper
ettoupper
appelleislower
) ; - convertissent
c
sic
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 lequeliswupper
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.