Manpages

名 前

toupper, tolower, 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 が 参 照 す る ロ ケ ー ル を 使 っ て 変 換 を 行 う 。 も し cunsigned 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" ロ ケ ー ル で は ウ ム ラ ウ ト を 認 識 し な い た め 、 そ れ ら の 文 字 は 変 換 で き な い 。 い く つ か の 非 英 語 ロ ケ ー ル で は 、 対 応 す る 大 文 字 を 持 た な い 小 文 字 が 存 在 す る 。 ド イ ツ 語 の エ ス ツ ェ ッ ト が 一 つ の 例 で あ る 。

関 連 項 目

isalpha(3), newlocale(3), setlocale(3), uselocale(3), towlower(3), towupper(3), locale(7)

こ の 文 書 に つ い て

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