towlower() - towupper() — ワイド文字の英大/小文字の変換

フォーマット

#include <wctype.h>
wint_t towlower(wint_t wc);
wint_t towupper(wint_t wc);

言語レベル

ANSI

スレッド・セーフ

はい

ロケール依存

コンパイル・コマンドで LOCALETYPE(*LOCALE) が指定される場合、これらの関数の振る舞いは、現行ロケールの LC_CTYPE カテゴリーの影響を受ける可能性があります。また、コンパイル・コマンドで LOCALETYPE(*LOCALEUCS2) または LOCALETYPE(*LOCALEUTF) オプションのいずれかが指定される場合、これらの関数の振る舞いは、 現行ロケールの LC_UNI_CTYPE カテゴリーの影響も受ける可能性があります。これらの関数は、 コンパイル・コマンドで LOCALETYPE(*CLD) が指定される場合には使用できません。詳細については、CCSID およびロケールの理解を参照してください。

ワイド文字関数

詳細については、ワイド文字を参照してください。

説明

towupper() 関数は、小文字 wc を対応する英大文字に 変換します。towlower() 関数は、大文字 wc を対応する英小文字に変換します。

戻り値

wc がワイド文字 (iswupper() (または iswlower()) が真) である場合に、対応するワイド文字 (iswlower() (または iswupper()) が真) が存在すると、towlower() (または towupper()) は対応するワイド文字を戻します。 そうでない場合、引数は変更されずに戻されます。

この例では towlower() および towupper() を使用して、 0 と 0x7f の間で文字を変換します。
#include <wctype.h>
#include <stdio.h>
 
int main(void)
{
      wint_t w_ch;
 
      for (w_ch = 0; w_ch <= 0xff; w_ch++) {
          printf ("towupper : %#04x %#04x, ", w_ch, towupper(w_ch));
          printf ("towlower : %#04x %#04x¥n", w_ch, towlower(w_ch));
      }
      return 0;
}
/************************************************************************
The output should be similar to:
 
:
towupper : 0xc1 0xc1, towlower : 0xc1 0x81
towupper : 0xc2 0xc2, towlower : 0xc2 0x82
towupper : 0xc3 0xc3, towlower : 0xc3 0x83
towupper : 0xc4 0xc4, towlower : 0xc4 0x84
towupper : 0xc5 0xc5, towlower : 0xc5 0x85
:
towupper : 0x81 0xc1, towlower : 0x81 0x81
towupper : 0x82 0xc2, towlower : 0x82 0x82
towupper : 0x83 0xc3, towlower : 0x83 0x83
towupper : 0x84 0xc4, towlower : 0x84 0x84
towupper : 0x85 0xc5, towlower : 0x85 0x85
:
**********************************************************************/