to
– funkce
Každá funkce to
a přidružené makro (pokud existuje) převede jeden znak na jiný znak.
__toascii
tolower
, , _tolower
towlower
toupper
, , _toupper
towupper
Poznámky
Funkce to
a převody maker jsou následující.
Rutina | Makro | Popis |
---|---|---|
__toascii |
__toascii |
c Převede na znak ASCII. |
tolower |
tolower |
V případě potřeby převede na malá písmena c . |
_tolower |
_tolower |
Převede na malá písmena c . |
towlower |
Nic | c Převede na odpovídající malá písmena širokého znaku. |
toupper |
toupper |
V případě potřeby převede na velká písmena c . |
_toupper |
_toupper |
Převede na velká písmena c . |
towupper |
Nic | Převede c na odpovídající velké písmeno s velkými znaky. |
Chcete-li použít verze to
funkcí rutin, které jsou také definovány jako makra, odeberte definice makra direktivami #undef
nebo nezahrnují CTYPE.H
. Pokud použijete možnost /Za compiler, kompilátor používá verzi toupper
funkce nebo tolower
. Deklarace funkcí toupper
tolower
jsou v STDLIB.H
.
Rutina __toascii
nastaví 7 bitů 7 bitů c
až 0, aby převedená hodnota představovala znak v znakové sadě ASCII. Pokud c
už znak ASCII představuje, c
nezmění se.
Rutinytolower
:toupper
- Závisí na
LC_CTYPE
kategorii aktuálního národního prostředí (tolower
voláníisupper
atoupper
voláníislower
). - Převést
c
, pokudc
představuje převodní písmeno příslušného případu v aktuálním národním prostředí a opačný případ existuje pro toto národní prostředí.c
V opačném případě se nezmění.
Rutiny_tolower
:_toupper
- Jsou nezávislé na národním prostředí, mnohem rychlejších verzích
tolower
a toupperu. - Lze použít pouze v případě, že isascii(
c
) a buď isupper(c
) nebo islower(c
), v uvedeném pořadí, jsou nenulové. - Nedefinované výsledky, pokud
c
se nejedná o písmeno ASCII odpovídajícího případu pro převod.
towupper
Funkce towlower
vrátí převedenou kopiic
, pokud jsou obě následující podmínky nenulové. c
V opačném případě se nezmění.
c
je široký charakter příslušného případu (to znamená, že pro kterýiswupper
nebo iswlower, v uvedeném pořadí, je nenulový).- Existuje odpovídající široký znak cílového případu (to znamená, že 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>
#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.