次の方法で共有


to 関数

to 関数とそれに関連付けられているマクロ (存在する場合) は、1 つの文字を別の文字に変換します。

__toascii
tolower_tolowertowlower
toupper_touppertowupper

解説

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

ルーチンによって返される値 マクロ 説明
__toascii __toascii c を ASCII 文字に変換する
tolower tolower 該当する場合、c を小文字に変換する
_tolower _tolower c を小文字に変換する
towlower なし c を対応するワイド文字の小文字に変換する
toupper toupper 該当する場合、c を大文字に変換する
_toupper _toupper c を大文字に変換する
towupper なし c を対応するワイド文字の大文字に変換する

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

__toascii ルーチンは c の下位 7 ビット以外をすべて 0 に設定し、変換値が ASCII 文字セットの文字を表すようにします。 c がすでに ASCII 文字セットの文字に該当している場合、c は変更されません。

tolower および toupper ルーチン:

  • 現在のロケールの LC_CTYPE カテゴリに準拠します (tolowerisupper を呼び出し、toupperislower を呼び出します)。
  • c が現在のロケールにおいて変換可能な文字の大文字か小文字を表し、その逆の大文字か小文字がそのロケールに存在する場合、c を変換します。 それ以外の場合、c は変換されません。

_tolower および _toupper ルーチン:

  • ロケールに依存しない、高速バージョンの tolower および toupper です。
  • isascii(c) と、isupper(c) または islower(c) のいずれかがゼロ以外の場合にのみ使用できます。
  • cが変換に適したケースの ASCII 文字でない場合は、未定義の結果になります。

次の条件が両方ともゼロ以外の場合にのみ towlower および towupper 関数はc の変換されたコピーを返します。 それ以外の場合、c は変換されません。

  • c が適切な大文字または小文字のワイド文字である (つまり iswupper または iswlower が、それぞれゼロ以外の場合)。
  • ターゲット ケースには対応するワイド文字があります (つまり、それぞれ iswlower または iswupper, は 0 以外です)。

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