Other Alias
toupper, toupper_l, tolower_l書式
#include <ctype.h>
int toupper(int c);
int tolower(int c);
int toupper_l(int c, locale_t locale);
int tolower_l(int c, locale_t locale);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
toupper_l(), tolower_l():
-
- glibc 2.10 以降:
- _XOPEN_SOURCE >= 700
- glibc 2.10 より前:
- _GNU_SOURCE
説明
これらの関数は、小文字を大文字に、もしくは大文字を小文字に変換する。c が小文字の場合、現在のロケールで大文字表現が存在する場合、 toupper() は対応する大文字を返す。大文字表現が存在しない場合、c を返す。 toupper_l() 関数は同じ動作をするが、ロケールハンドル locale が参照するロケールを使って変換を行う。
c が大文字の場合、現在のロケールで小文字表現が存在する場合、 tolower() は対応する小文字を返す。小文字表現が存在しない場合、c を返す。 tolower_l() 関数は同じ動作をするが、ロケールハンドル locale が参照するロケールを使って変換を行う。
もし c が unsigned char 値でも EOF でもない場合、これらの関数の動作は未定義である。
locale が特別なロケールオブジェクト LC_GLOBAL_LOCALE の場合 (duplocale(3) 参照)、または locale が有効なロケールオブジェクトハンドルでない場合、 toupper_l() と tolower_l() の動作は未定義である。
返り値
変換ができれば変換後の文字を返す。できなければ変換前の c を返す。属性
マルチスレッディング (pthreads(7) 参照)
関数 toupper() と tolower() は、例外付きのスレッドセーフである。実行中に setlocale(3) を呼び出してロケールを変更しない限り、マルチスレッドアプリケーションで安全に使用することができる。準拠
toupper(), tolower(): C89, C99, 4.3BSD, POSIX.1-2001, POSIX.1-2008.toupper_l(), tolower_l(): POSIX.1-2008.
注意
なにが大文字でなにが小文字なのかということの詳細は、ロケールに依存している。たとえば、デフォルトの "C" ロケールではウムラウトを認識しないため、それらの文字は変換できない。いくつかの非英語ロケールでは、対応する大文字を持たない小文字が存在する。 ドイツ語のエスツェットが一つの例である。
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。