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 を返す。

属性

  マルチスレッディング (pthreads(7) 参照)
towupper() 関数は、例外付きのスレッドセーフである。実行中に setlocale(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。

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

準拠
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 プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。