다음을 통해 공유


to 함수

to 각 함수와 관련 매크로(있는 경우)는 한 문자를 다른 문자로 변환합니다.

__toascii
tolower, , _tolowertowlower
toupper, , _touppertowupper

설명

to 함수 및 매크로 변환은 다음과 같습니다.

루틴에서 반환된 값 매크로 설명
__toascii __toascii c를 ASCII 문자로 변환
tolower tolower 해당하는 경우 c를 소문자로 변환
_tolower _tolower c를 소문자로 변환
towlower None c를 해당하는 와이드 문자 소문자로 변환
toupper toupper 해당하는 경우 c를 대문자로 변환
_toupper _toupper c를 대문자로 변환
towupper None c를 해당하는 와이드 문자 대문자로 변환

매크로로도 정의된 루틴의 to 함수 버전을 사용하려면 지시문이 있는 #undef 매크로 정의를 제거하거나 포함하지 CTYPE.H마세요. /Za 컴파일러 옵션을 사용하는 경우 컴파일러는 toupper 또는 tolower의 함수 버전을 사용합니다. 및 함수의 toupper 선언은 .에 있습니다STDLIB.H.tolower

__toascii 루틴은 변환된 값이 ASCII 문자 집합의 문자를 나타내도록 c의 하위 7비트를 제외한 모든 항목을 0으로 설정합니다. c가 이미 ASCII 문자를 나타내는 경우 c는 변경되지 않습니다.

tolowertoupper 루틴의 특성은 다음과 같습니다.

  • 현재 로캘의 LC_CTYPE 범주에 따라 달라집니다. 즉, tolowerisupper을 호출하고 toupperislower을 호출합니다.
  • c가 현재 로캘에서 해당하는 대/소문자의 변환 가능한 문자를 나타내며 해당 로캘에서 반대되는 대/소문자가 있는 경우 c를 변환합니다. 그렇지 않은 경우에는 c가 변경되지 않습니다.

_tolower_toupper 루틴의 특성은 다음과 같습니다.

  • 로캘과 관련이 없으며 속도가 훨씬 더 빠른 tolowertoupper 버전입니다.
  • isascii(c)isupper(c) 또는 islower(c) 중 하나가 각각 0이 아닌 경우에만 사용할 수 있습니다.
  • 변환에 적합한 사례의 ASCII 문자가 아닌 경우 c 정의되지 않은 결과를 갖습니다.

towlowertowupper 함수는 다음 조건이 둘 다 0이 아닌 경우에만 변환된 c 복사본을 반환합니다. 그렇지 않은 경우에는 c가 변경되지 않습니다.

  • c가 적절한 대/소문자의 와이드 문자인 경우(즉, iswupper 또는 iswlower이 각각 0이 아닌 경우)
  • 대상 케이스의 해당 와이드 문자(즉, iswlower 각각 0이 아닌 경우 또는 iswupper )가 있습니다.

예시

// 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.

참고 항목

데이터 변환
Locale
is, isw 루틴