TOWUPPER(3) | Linux Programmer's Manual | 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():
towupper() 関数は、 toupper(3) 関数に対応するワイド文字関数である。 wc が小文字のワイド文字で、現在のロケールで対応する大文字が存在する場合、 wc に対応する大文字が返される。 それ以外の場合には、 wc は変更されずに返される。
towupper_l() 関数も同様の動作を行うが、 locale で指定されたロケールでの文字列型の情報に基づき変換が行われる点が異なる。 locale が特別なロケールオブジェクト LC_GLOBAL_LOCALE の場合、もしくは locale が有効なロケールオブジェクトハンドルでない場合、 towupper_l() の動作は未定義である。
引き数 wc は、 指定されたロケールで有効な wchar_t で表現できる文字、または値 WEOF でなければならない。
wc が大文字に変換可能だった場合、 towupper() は対応する大文字返す。 そうでない場合、 wc を返す。
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" が含まれているからである。
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2014-03-18 | GNU |