do funkcji
Każdy z do funkcji i jego skojarzony makro, konwertuje pojedynczy znak inny znak.
|
Uwagi
Do funkcje i konwersje makra są w następujący sposób.
Procedura |
Makro |
Opis |
---|---|---|
__toascii |
__toascii |
Konwertuje c znak ASCII |
tolower |
tolower |
Konwertuje c na małe litery, jeśli właściwe |
_tolower |
_tolower |
Konwertuje c na małe litery |
towlower |
Brak |
Konwertuje c do odpowiedniego znaku wide małą literą |
toupper |
toupper |
Konwertuje c na wielkie litery, jeśli właściwe |
_toupper |
_toupper |
Konwertuje c na wielkie litery |
towupper |
Brak |
C jest konwertowany na odpowiedni znak wide wielką literą |
Aby użyć wersji funkcji do procedur, które są również zdefiniowani jako makra, należy usunąć definicje makr z #undef dyrektyw, czy nie zawiera CTYPE.H.Jeśli używasz opcji kompilatora /Za, kompilator używa wersji funkcji toupper lub tolower.Deklaracje toupper i tolower funkcje są w STDLIB.H.
__toascii Rutynowych wszystkie zestawy ale mniej znaczące bity 7 z c 0, tak aby konwertowaną wartość reprezentuje znak z zestawu znaków ASCII.Jeśli c już reprezentuje znak ASCII c nie ulega zmianie.
The tolower and toupper routines:
Są zależne od LC_CTYPE kategorii bieżące ustawienia regionalne (tolower wywołania isupper i toupper wywołania islower).
Konwertuj c Jeśli c reprezentuje kabriolet list odpowiednich sprawy w bieżących ustawień regionalnych i przeciwnym wypadku istnieje dla danego ustawienia regionalnego.W przeciwnym razie c nie ulega zmianie.
The _tolower and _toupper routines:
Są niezależne od ustawień regionalnych, znacznie szybsze wersje tolower i toupper.
Can be used only when isascii(c) and either isupper(c) or islower(c), respectively, are nonzero.
Być przyczyną otrzymania niezdefiniowanych wyników Jeśli c nie jest list ASCII w odpowiednim przypadku, do konwersji.
towlower i towupper funkcje zwracają przekonwertowanych kopii c wtedy i tylko wtedy, gdy oba poniższe warunki są różna od zera.W przeciwnym razie c nie ulega zmianie.
cjest znak dwubajtowy odpowiednim przypadku (to znaczy, dla których iswupper lub iswlower, odpowiednio jest różna od zera).
Istnieje odpowiedni znak dwubajtowy sprawy docelowej (to znaczy, dla których iswlower lub iswupper, odpowiednio jest różna od zera).
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>
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 );
}
}