towupper, towupper_l - ワイド文字 1
個を大文字に変換する
#include <wctype.h>
wint_t towupper(wint_t wc);
wint_t towupper_l(wint_t wc, locale_t locale);
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/
に書かれている。