次の方法で共有


to 関数

には の関数および関連の各マクロでは別の文字に単一の文字を変換します。

__toascii

toupper_touppertowupper

tolower_tolowertowlower

 

解説

には の関数とマクロ変換は次のとおりです。

ルーチン

マクロ

Description

__toascii

__toascii

ASCII 文字と c を変換します

tolower

tolower

必要に応じて c を小文字に変換します

_tolower

_tolower

c を小文字に変換します

towlower

なし

対応するワイド文字を小文字に c を変換します

toupper

toupper

必要に応じて c を大文字に変換します

_toupper

_toupper

c を大文字に変換します

towupper

なし

対応するワイド文字を大文字に変換しますが

マクロは定義されている には ルーチン関数のバージョンを使用するにはマクロ定義を #undef のディレクティブを削除するかまたは CTYPE.H. を含めないでください。/Za コンパイラ オプションを使用するとコンパイラは toupper または tolower 関数のバージョンを使用します。touppertolower 関数の宣言はSTDLIB.H. にあります。

__toascii ルーチンは 0 に変換された値が ASCII 文字セットの文字を表すようにすべて c の下位 7 ビットを設定できます。c が既に ASCII 文字を表す場合c は変更されません。

tolowertoupper ルーチン :

  • 現在のロケールのカテゴリの LC_CTYPE に依存しています (tolowerisupper を呼び出しtoupperislower を呼び出します)。

  • c が現在のロケールの適切なケースに変換できる文字を表しオブジェクトの場合はそのロケールにある場合は c に変換します。それ以外 c は変更されません。

_tolower_toupper ルーチン :

  • tolower のロケールに依存せずより高速なバージョンと toupper。 です。

  • (isasciic**)** が (isupperc**)** または (islowerc**)**それぞれ以外の場合にのみ使用することができます。

  • c が変換の適切な場合の ASCII 文字である結果を未定義にします。

towlowertowupper の関数は次の条件の両方がゼロ以外である場合にのみ c の変換されたコピーを返します。それ以外 c は変更されません。

  • c はどの iswupper または iswlower の場合ゼロ以外であるか) 適切なケースのワイド文字です (つまり。

  • それぞれの iswlower または 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>

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 系ルーチン