to Functions
Každý na funkce a její přidružené makro, převádí jeden znak na jiný znak.
|
Poznámky
Na jsou funkce a přepočty makro.
Rutina |
Makro |
Description |
---|---|---|
__toascii |
__toascii |
Převede c znak ASCII |
tolower |
tolower |
Převede c na malá písmena, případně |
_tolower |
_tolower |
Převede c na malá písmena |
towlower |
Žádná |
Převede c na odpovídající wide znak malé písmeno |
toupper |
toupper |
Převede c na velká písmena, případně |
_toupper |
_toupper |
Převede c na velká písmena |
towupper |
Žádná |
Převede na odpovídající znak wide velké písmeno c |
Použití funkce verzí na rutiny, které jsou rovněž definovány jako makra, odeberte definice maker s #undef směrnic nebo zahrnout CTYPE.H.Pokud použijete parametr kompilátoru /Za, kompilátor používá verzi funkce toupper nebo tolower.Prohlášení toupper a tolower funkce jsou v STDLIB.H.
__toascii , Ale všechny rutinní sad a nejnižší 7 bitů c 0, takže představuje převedenou hodnotu znaku ve znakové sadě ASCII.Pokud c již představuje znak ASCII c se nemění.
The tolower and toupper routines:
Jsou závislé LC_CTYPE kategorie aktuální národní prostředí (tolower volání isupper a toupper volání islower).
Převést c -li c představuje konvertibilní písmeno odpovídající případu v aktuální národní prostředí a v opačném případě existuje pro toto národní prostředí.Jinak c se nemění.
The _tolower and _toupper routines:
Jsou nezávislé na národní prostředí, mnohem rychlejší verze tolower a ToUpper použije.
Can be used only when isascii(c) and either isupper(c) or islower(c), respectively, are nonzero.
Nedefinovaný výsledky, pokud c není písmeno ASCII případu vhodné pro převod.
towlower a towupper funkce vrátí převedené kopie c Pokud jsou obě tyto podmínky nenulová.Jinak c se nemění.
cširoký znak odpovídající případu (, pro který iswupper nebo iswlower, , je nenulová).
Existuje široký znaku odpovídá případu cíl (, pro který iswlower nebo iswupper, , je nenulová).
Příklad
// 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 );
}
}