to 함수to Functions

to 함수와 이 함수에 연결된 매크로가 있는 경우에는 단일 문자를 다른 문자로 변환합니다.Each of the to functions and its associated macro, if any, converts a single character to another character.

__toascii__toascii toupper, _toupper, towuppertoupper, _toupper, towupper
tolower, _tolower, towlowertolower, _tolower, towlower


to 함수 및 매크로 변환은 다음과 같이 수행됩니다.The to functions and macro conversions are as follows.

루틴에서 반환된 값Routine 매크로Macro 설명Description
__toascii __toascii c를 ASCII 문자로 변환Converts c to ASCII character
tolower tolower 해당하는 경우 c를 소문자로 변환Converts c to lowercase if appropriate
_tolower _tolower c를 소문자로 변환Converts c to lowercase
towlower 없음None c를 해당하는 와이드 문자 소문자로 변환Converts c to corresponding wide-character lowercase letter
toupper toupper 해당하는 경우 c를 대문자로 변환Converts c to uppercase if appropriate
_toupper _toupper c를 대문자로 변환Converts c to uppercase
towupper 없음None c를 해당하는 와이드 문자 대문자로 변환Converts c to corresponding wide-character uppercase letter

역시 매크로로 정의된 to 루틴의 함수 버전을 사용하려면 #undef 지시문을 사용하여 매크로 정의를 제거하거나 CTYPE.H를 포함하지 마세요.To use the function versions of the to routines that are also defined as macros, either remove the macro definitions with #undef directives or do not include CTYPE.H. /Za 컴파일러 옵션을 사용하는 경우 컴파일러는 toupper 또는 tolower의 함수 버전을 사용합니다.If you use the /Za compiler option, the compiler uses the function version of toupper or tolower. touppertolower 함수의 선언은 STDLIB.H에 있습니다.Declarations of the toupper and tolower functions are in STDLIB.H.

__toascii 루틴은 변환된 값이 ASCII 문자 집합의 문자를 나타내도록 c의 하위 7비트를 제외한 모든 항목을 0으로 설정합니다.The __toascii routine sets all but the low-order 7 bits of c to 0, so that the converted value represents a character in the ASCII character set. c가 이미 ASCII 문자를 나타내는 경우 c는 변경되지 않습니다.If c already represents an ASCII character, c is unchanged.

tolowertoupper 루틴의 특성은 다음과 같습니다.The tolower and toupper routines:

  • 현재 로캘의 LC_CTYPE 범주에 따라 달라집니다. 즉, tolowerisupper을 호출하고 toupperislower을 호출합니다.Are dependent on the LC_CTYPE category of the current locale (tolower calls isupper and toupper calls islower).

  • c가 현재 로캘에서 해당하는 대/소문자의 변환 가능한 문자를 나타내며 해당 로캘에서 반대되는 대/소문자가 있는 경우 c를 변환합니다.Convert c if c represents a convertible letter of the appropriate case in the current locale and the opposite case exists for that locale. 그렇지 않은 경우에는 c가 변경되지 않습니다.Otherwise, c is unchanged.

    _tolower_toupper 루틴의 특성은 다음과 같습니다.The _tolower and _toupper routines:

  • 로캘과 관련이 없으며 속도가 훨씬 더 빠른 tolowertoupper 버전입니다.Are locale-independent, much faster versions of tolower and toupper.

  • isascii(c)isupper(c) 또는 islower(c) 중 하나가 각각 0이 아닌 경우에만 사용할 수 있습니다.Can be used only when isascii(c) and either isupper(c) or islower(c), respectively, are nonzero.

  • c가 변환하려는 적절한 대/소문자의 ASCII 문자가 아닌 경우 정의되지 않은 결과를 포함합니다.Have undefined results if c is not an ASCII letter of the appropriate case for converting.

    towlowertowupper 함수는 다음 조건이 둘 다 0이 아닌 경우에만 변환된 c 복사본을 반환합니다.The towlower and towupper functions return a converted copy of c if and only if both of the following conditions are nonzero. 그렇지 않은 경우에는 c가 변경되지 않습니다.Otherwise, c is unchanged.

  • c가 적절한 대/소문자의 와이드 문자인 경우(즉, iswupper 또는 iswlower이 각각 0이 아닌 경우)c is a wide character of the appropriate case (that is, for which iswupper or iswlower, respectively, is nonzero).

  • 대상 대/소문자에 해당하는 와이드 문자가 있는 경우(즉, iswlower 또는 iswupper이 각각 0이 아닌 경우)There is a corresponding wide character of the target case (that is, for which iswlower or iswupper, respectively, is nonzero).


// 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 ) );  
         putchar( *p );  
Some of THESE letters are Capitals.  

참고 항목See Also

데이터 변환 Data Conversion
로캘 Locale
is, isw 루틴is, isw Routines