Udostępnij za pośrednictwem


to, funkcje

Każda z to funkcji i skojarzonego z nim makra, jeśli istnieje, konwertuje pojedynczy znak na inny znak.

__toascii
tolower, , _tolowertowlower
toupper, , _touppertowupper

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 i toupper wywołań islower).
  • Konwertuj c , jeśli c 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(cc), 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órego iswupper 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.

Zobacz też

Konwersja danych
Locale
is, isw procedury