名 前
isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit, isalnum_l, isalpha_l, isascii_l, isblank_l, iscntrl_l, isdigit_l, isgraph_l, islower_l, isprint_l, ispunct_l, isspace_l, isupper_l, isxdigit_l − 文 字 を 分 類 す る
書 式
#include <ctype.h>
int
isalnum(int c);
int isalpha(int c);
int iscntrl(int c);
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
int isspace(int c);
int isupper(int c);
int isxdigit(int c);
int
isascii(int c);
int isblank(int c);
int
isalnum_l(int c, locale_t
locale);
int isalpha_l(int c, locale_t
locale);
int isblank_l(int c, locale_t
locale);
int iscntrl_l(int c, locale_t
locale);
int isdigit_l(int c, locale_t
locale);
int isgraph_l(int c, locale_t
locale);
int islower_l(int c, locale_t
locale);
int isprint_l(int c, locale_t
locale);
int ispunct_l(int c, locale_t
locale);
int isspace_l(int c, locale_t
locale);
int isupper_l(int c, locale_t
locale);
int isxdigit_l(int c, locale_t
locale);
int isascii_l(int c, locale_t locale);
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):
isascii():
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE
isblank():
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L; ま た は cc −std=c99
isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l(), isdigit_l(), isgraph_l(), islower_l(), isprint_l(), ispunct_l(), isspace_l(), isupper_l(), isxdigit_l():
glibc 2.10 以 降 :
_XOPEN_SOURCE >= 700
glibc 2.10 よ り 前 :
_GNU_SOURCE
isascii_l():
glibc 2.10 以 降 :
_XOPEN_SOURCE >= 700 && (_SVID_SOURCE || _BSD_SOURCE)
glibc 2.10 よ り 前 :
_GNU_SOURCE
説 明
こ れ ら の 関 数 は 、 指 定 し た ロ ケ ー ル に 従 っ て c を 分 類 す る 。 c は unsigned char か EOF で な け れ ば な ら な い 。 "_l" が 後 ろ に 付 か な い 関 数 は 現 在 の ロ ケ ー ル に 基 づ い て チ ェ ッ ク を 行 う 。
"_l"
で 終 わ る 関 数
は 、 ロ ケ ー ル
オ ブ ジ ェ ク ト
locale で 指 定 さ れ
た ロ ケ ー ル に
基 づ い て チ ェ
ッ ク を 行 う 。
locale が 特 別 な ロ
ケ ー ル オ ブ ジ
ェ ク ト LC_GLOBAL_LOCALE
(duplocale(3) 参 照 ) の 場
合 や 、 locale が 有
効 な オ ブ ジ ェ
ク ト ロ ケ ー ル
ハ ン ド ル で な
い 場 合 、 こ れ
ら の 関 数 の 動
作 は 未 定 義 で
あ る 。 以 下 の
リ ス ト で は 、
"_l" が 後 ろ に 付
か な い 関 数 の
動 作 を 説 明 す
る 。 "_l" で 終 わ
る 関 数 は 、 現
在 の ロ ケ ー ル
で は な く 、 ロ
ケ ー ル オ ブ ジ
ェ ク ト locale を 使
う 点 だ け が 異
な る 。
isalnum() 英 字 ま た は
数 字 で あ る か
を 調 べ る 。
(isalpha(c) ||
isdigit(c)) と 等 価
で あ る 。
isalpha() ア ル フ ァ ベ
ッ ト か ど う か
調 べ る 。 標 準
の "C" ロ ケ ー
ル で は (isupper(c) ||
islower(c)) と 等 価
で あ る 。 他 の
ロ ケ ー ル で は
、 大 文 字 で も
小 文 字 で も な
い 他 の 文 字 で
も isalpha() が true を 返
す こ と が あ る
。
isascii()
c が 、 ASCII文 字 セ ッ ト に 合 致 す る 7ビ ッ ト の unsigned char で あ る か を 調 べ る 。
isblank() 空
白 文 字 (ス ペ ー
ス か タ ブ ) で あ
る か を 調 べ る
。
iscntrl() 制 御 文 字 か
ど う か を 調 べ
る 。
isdigit() 数 字 (0〜 9) か
ど う か を 調 べ
る 。
isgraph() 表 示 可 能 な
文 字 か ど う か
を 調 べ る 。 ス
ペ ー ス は 含 ま
れ な い 。
islower() 小 文 字 か ど
う か を 調 べ る
。
isprint() 表 示 可 能 な
文 字 か ど う か
を 調 べ る 。 ス
ペ ー ス も 含 ま
れ る 。
ispunct() 表 示 可 能 な
文 字 か ど う か
を 調 べ る 。 ス
ペ ー ス と 英 数
字 は 含 ま れ な
い 。
isspace() 空 白 文 字 か
ど う か を 調 べ
る 。 "C" ロ ケ
ー ル か "POSIX" ロ
ケ ー ル で は 、
空 白 文 字 と は
、 ス ペ ー ス 、
フ ォ ー ム フ ィ
ー ド ('\f') 、 改 行
(newline) ('\n') 、 復 帰 (carriage
return) ('\r') 、 水 平 タ
ブ ('\t') 、 垂 直 タ
ブ ('\v') で あ る 。
isupper() 大 文 字 か ど
う か を 調 べ る
。
isxdigit()
16進 数 で
の 数 字 か ど う
か を 調 べ る 。
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F の
文 字 で あ る か
ど う か を 調 べ
る こ と と 等 価
で あ る 。
返 り 値
文 字 c が 調 べ た 文 字 の 種 類 に 合 っ て い れ ば 0 以 外 を 返 す 。 そ う で な け れ ば 0 を 返 す 。
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) 関 数 isalnum(), isalpha(), isascii(), isblank(), iscntrl(), isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit() は ス レ ッ ド セ ー フ で あ る 。
バ ー ジ ョ ン
isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l(), isdigit_l(), isgraph_l(), islower_l(), isprint_l(), ispunct_l(), isspace_l(), isupper_l(), isxdigit_l(), isascii_l() は glibc 2.3 以 降 で 利 用 可 能 で あ る 。
準 拠
C89 で は isalnum(), isalpha(), iscntrl(), isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit() が 規 定 さ れ て い る が 、 isascii() と isblank() は 規 定 さ れ て い な い 。 POSIX.1−2001 で も こ れ ら の 関 数 は 規 定 さ れ て お り 、 isascii() と isblank() も 規 定 さ れ て い る (isascii() は XSI 拡 張 )。 C99 で は 、 こ こ で 挙 げ た 関 数 の う ち isascii() 以 外 の 全 て が 規 定 さ れ て い る 。
POSIX.1−2008 で は isascii() は 廃 止 予 定 と さ れ て い る 。 ロ ー カ ラ イ ズ す る ア プ リ ケ ー シ ョ ン で 移 植 性 が あ る 形 で は 使 用 で き な い 点 に 注 意 す る こ と 。
POSIX.1−2008 で は isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l(), isdigit_l(), isgraph_l(), islower_l(), isprint_l(), ispunct_l(), isspace_l(), isupper_l(), isxdigit_l() が 規 定 さ れ て い る 。
isascii_l() は GNU 拡 張 で あ る 。
注 意
あ る 文 字 が ど の 種 類 に 入 る か と い う こ と は 、 現 在 の ロ ケ ー ル に 依 存 す る 。 た と え ば 、 デ フ ォ ル ト の C ロ ケ ー ル で は isupper() は A の ウ ム ラ ウ ト を 認 識 で き な い の で 、 そ れ が 大 文 字 だ と い う こ と が わ か ら な い 。
関 連 項 目
iswalnum(3), iswalpha(3), iswblank(3), iswcntrl(3), iswdigit(3), iswgraph(3), iswlower(3), iswprint(3), iswpunct(3), iswspace(3), iswupper(3), iswxdigit(3), newlocale(3), setlocale(3), uselocale(3), toascii(3), tolower(3), toupper(3), ascii(7), locale(7)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。