to 函数

如果存在,每个to 函数及其关联的宏中,将单个字符转变到另一个字符。

__toascii

toupper, _toupper, towupper

tolower, _tolower, towlower

 

备注

函数和宏转换如下所示。

例程

说明

__toascii

__toascii

将 c 转换为 ASCII 字符

tolower

tolower

如果合适,c 转换为小写字符

_tolower

_tolower

c 转换为小写。

towlower

将 c 强制转换为相应的宽字符小写字母

toupper

toupper

如果合适,c 转换为大写字符

_toupper

_toupper

将 c 转换为大写

towupper

转换 c 到相应的宽字符大写字母

若要使用宏,也定义为 例程的函数版本移除宏定义使用 #undef 指令或不包含 CTYPE.H。 如果使用 /Za 编译器选项,编译器使用 touppertolower函数版本。 touppertolower 函数的声明在 STDLIB.H。

例程 __toascii 设置所有除了低序 7 位 c 为0,因此,转换的值表示 ASCII 字符集中的一个字符。 如果 c 已经表示 ASCII 字符,c 不更改。

tolowertoupper 例程:

  • 当前依赖于区域设置的 LC_CTYPE 类别 (tolower 调用 isupper,并调用 toupper islower)。

  • 请将 c 强制转换,如果c 代表在当前区域的相应的可变的字符,并且在相反的情况下为该区域设置提供。 否则,c 不更改。

_tolower_toupper 例程:

  • tolower 区域设置无关,较快的生成和 toupper.

  • 只有当 isascii(c) 并且 大于(c)小于(c), 分别为零,可以使用.

  • 如果c不是一个要转换的合适用例的ASCII字符,结果未定义。

towlowertowupper 函数会返回 c 的变换的复制,如果只有以下两个条件皆为非零值。 否则,c 不更改。

  • c 为适合的情况的宽字符 (即 iswupperiswlower,,要分别为非零)。

  • 具有目标用例的相应的宽字符 (即要 iswloweriswupper,,分别为非零)。

示例

// 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 );
   }
}
  

请参见

参考

数据转换

区域设置

is、isw 例程