to
, funkcje
Każda z to
funkcji i skojarzonego z nim makra, jeśli istnieje, konwertuje pojedynczy znak na inny znak.
__toascii
tolower
, , _tolower
towlower
toupper
, , _toupper
towupper
Uwagi
Funkcje to
i konwersje makr są następujące.
Procedura | Makro | opis |
---|---|---|
__toascii |
__toascii |
Konwertuje c na znak ASCII |
tolower |
tolower |
Konwertuje c na małe litery, jeśli jest to odpowiednie |
_tolower |
_tolower |
Konwertuje c na małe litery |
towlower |
Brak | Konwertuje c na odpowiednią małą literę z dużym znakiem |
toupper |
toupper |
Konwertuje c na wielkie litery, jeśli jest to odpowiednie |
_toupper |
_toupper |
Konwertuje c na wielkie litery |
towupper |
Brak | Konwertuje język c na odpowiadającą wielką literę z dużym znakiem |
Aby użyć wersji to
funkcji procedur, które są również zdefiniowane jako makra, usuń definicje makr z dyrektywami #undef
lub nie zawierają CTYPE.H
. Jeśli używasz opcji /Za kompilatora, kompilator używa wersji toupper
funkcji lub tolower
. Deklaracje funkcji i tolower
znajdują się w elemtoupper
.STDLIB.H
Rutyna __toascii
ustawia wszystkie elementy, ale 7 bitów c
o niskiej kolejności do 0, tak aby przekonwertowana wartość reprezentuje znak w zestawie znaków ASCII. Jeśli c
już reprezentuje znak ASCII, c
jest niezmieniony.
Procedury tolower
i toupper
:
- Są zależne od
LC_CTYPE
kategorii bieżących ustawień regionalnych (tolower
wywołańisupper
itoupper
wywołańislower
). - Konwertuj
c
, jeślic
reprezentuje literę kabrioletu odpowiedniego przypadku w bieżących ustawieniach regionalnych, a przeciwny przypadek istnieje dla tych ustawień regionalnych.c
W przeciwnym razie wartość jest niezmieniona.
Procedury _tolower
i _toupper
:
- Są niezależne od ustawień regionalnych, znacznie szybsze wersje
tolower
i toupper. - Można używać tylko wtedy, gdy isascii(
c
) i isupper() lub islower(c
c
), odpowiednio, są nonzero. - Niezdefiniowane wyniki, jeśli
c
nie jest literą ASCII odpowiedniego przypadku do konwersji.
Funkcje towlower
i towupper
zwracają przekonwertowaną kopię c
if i tylko wtedy, gdy oba poniższe warunki nie sązerowe. c
W przeciwnym razie wartość jest niezmieniona.
c
jest szerokim znakiem odpowiedniego przypadku (oznacza to, dla któregoiswupper
lub iswlower, odpowiednio, jest nonzero).- Istnieje odpowiedni szeroki znak przypadku docelowego (oznacza to, dla którego
iswlower
lub iswupper, odpowiednio, jest nonzero).
Przykład
// 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.