Sdílet prostřednictvím


to – funkce

Každá funkce to a přidružené makro (pokud existuje) převede jeden znak na jiný znak.

__toascii
tolower, , _tolowertowlower
toupper, , _touppertowupper

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 a toupper volání islower).
  • Převést c , pokud c 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.

Viz také

Konverze dat
Locale
is, isw rutiny