TOWUPPER(3)

名前
towupper, towupper_l - ワイド文字 1 個を大文字に変換する

書式
#include <wctype.h>

wint_t towupper(wint_t wc);

wint_t towupper_l(wint_t wc, locale_t locale);

    glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

towupper_l():
    glibc 2.10 以降:
        _XOPEN_SOURCE >= 700
    glibc 2.10 より以前:
        _GNU_SOURCE

説明
towupper() 関数は、 toupper(3) 関数に対応するワイド文字関数である。 wc が小文字のワイド文字で、現在のロケールで対応する大文字が存在する場合、 wc に対応する大文字が返される。 それ以外の場合には、 wc は変更されずに返される。

towupper_l() 関数も同様の動作を行うが、 locale で指定されたロケールでの文字列型の情報に基づき変換が行われる点が異なる。 locale が特別なロケールオブジェクト LC_GLOBAL_LOCALE の場合、もしくは locale が有効なロケールオブジェクトハンドルでない場合、 towupper_l() の動作は未定義である。

引数 wc は、 指定されたロケールで有効な wchar_t で表現できる文字、または値 WEOF でなければならない。

返り値
wc が大文字に変換可能だった場合、 towupper() は対応する大文字返す。 そうでない場合、 wc を返す。

バージョン
towupper_l() 関数は glibc 2.3 で初めて登場した。

属性
この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース | 属性 | 値
towupper() | Thread safety | MT-Safe locale
towupper_l() | Thread safety | MT-Safe

準拠
towupper(): C99, POSIX.1-2001 (XSI); POSIX.1-2008 の XSI 拡張に存在しているが、廃止予定とされている。

towupper_l(): POSIX.1-2008.

注意
これらの関数の動作は、ロケールの LC_CTYPE カテゴリーに依存する。

これらの関数で Unicode 文字を扱うのはあまり適切でない。 なぜなら、Unicode には、大文字 (upper case)・小文字 (lower case)・ タイトル文字 (title case) という 3 つの "case" が含まれているからである。

関連項目
iswupper(3), towctrans(3), towlower(3), locale(7)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。