Manpages

名 前

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 を 分 類 す る 。 cunsigned charEOF で な け れ ば な ら な い 。 "_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/ に 書 か れ て い る 。