.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\"
+.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
-.\" License.
+.\" %%%LICENSE_END
.\"
.\" Modified Sat Jul 24 19:10:00 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Aug 21 17:51:50 1994 by Rik Faith (faith@cs.unc.edu)
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH ISALPHA 3 2010\-09\-20 GNU "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1997 Ueyama Rui
+.\" all rights reserved.
+.\" Translated 1997-08-29, Ueyama Rui <rui@campus.or.jp>
+.\" Updated 1999-07-16, Kentaro Shirakata <argrath@yo.rim.or.jp>
+.\" Updated 2005-02-26, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2007-05-01, Akihiro MOTOKI, LDP v2.46
+.\"
+.TH ISALPHA 3 2014\-03\-18 GNU "Linux Programmer's Manual"
.SH 名前
isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower,
-isprint, ispunct, isspace, isupper, isxdigit \- 文字を分類する
+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 \- 文字を分類する
.SH 書式
.nf
\fB#include <ctype.h>\fP
.sp
\fBint isalnum(int \fP\fIc\fP\fB);\fP
-.br
\fBint isalpha(int \fP\fIc\fP\fB);\fP
-.br
-\fBint isascii(int \fP\fIc\fP\fB);\fP
-.br
-\fBint isblank(int \fP\fIc\fP\fB);\fP
-.br
\fBint iscntrl(int \fP\fIc\fP\fB);\fP
-.br
\fBint isdigit(int \fP\fIc\fP\fB);\fP
-.br
\fBint isgraph(int \fP\fIc\fP\fB);\fP
-.br
\fBint islower(int \fP\fIc\fP\fB);\fP
-.br
\fBint isprint(int \fP\fIc\fP\fB);\fP
-.br
\fBint ispunct(int \fP\fIc\fP\fB);\fP
-.br
\fBint isspace(int \fP\fIc\fP\fB);\fP
-.br
\fBint isupper(int \fP\fIc\fP\fB);\fP
-.br
\fBint isxdigit(int \fP\fIc\fP\fB);\fP
+
+\fBint isascii(int \fP\fIc\fP\fB);\fP
+\fBint isblank(int \fP\fIc\fP\fB);\fP
+
+\fBint isalnum_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+\fBint isalpha_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+\fBint isblank_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+\fBint iscntrl_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+\fBint isdigit_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+\fBint isgraph_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+\fBint islower_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+\fBint isprint_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+\fBint ispunct_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+\fBint isspace_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+\fBint isupper_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+\fBint isxdigit_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
+
+\fBint isascii_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP
.fi
.sp
.in -4n
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE
.br
.RE
+
\fBisblank\fP():
.RS 4
_XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L;
.br
-or \fIcc\ \-std=c99\fP
+または \fIcc\ \-std=c99\fP
+.RE
+
+\fBisalnum_l\fP(), \fBisalpha_l\fP(), \fBisblank_l\fP(), \fBiscntrl_l\fP(),
+\fBisdigit_l\fP(), \fBisgraph_l\fP(), \fBislower_l\fP(), \fBisprint_l\fP(),
+\fBispunct_l\fP(), \fBisspace_l\fP(), \fBisupper_l\fP(), \fBisxdigit_l\fP():
+.PD 0
+.RS 4
+.TP
+glibc 2.10 以降:
+_XOPEN_SOURCE\ >=\ 700
+.TP
+glibc 2.10 より前:
+_GNU_SOURCE
+.RE
+.PD
+
+\fBisascii_l\fP():
+.PD 0
+.RS 4
+.TP
+glibc 2.10 以降:
+_XOPEN_SOURCE\ >=\ 700 && (_SVID_SOURCE || _BSD_SOURCE)
+.TP
+glibc 2.10 より前:
+_GNU_SOURCE
.RE
+.PD
.ad
.SH 説明
-これらの関数は、現在のロケールに従って \fIc\fP を分類する。 \fIc\fP は \fIunsigned char\fP か \fBEOF\fP でなければならない。
+これらの関数は、指定したロケールに従って \fIc\fP を分類する。 \fIc\fP は \fIunsigned char\fP か \fBEOF\fP でなければならない。
+"_l" が後ろに付かない関数は現在のロケールに基づいてチェックを行う。
+
+"_l" で終わる関数は、ロケールオブジェクト \fIlocale\fP で指定されたロケールに基づいてチェックを行う。 \fIlocale\fP
+が特別なロケールオブジェクト \fBLC_GLOBAL_LOCALE\fP (\fBduplocale\fP(3) 参照) の場合や、 \fIlocale\fP
+が有効なオブジェクトロケールハンドルでない場合、 これらの関数の動作は未定義である。
+
+以下のリストでは、 "_l" が後ろに付かない関数の動作を説明する。 "_l" で終わる関数は、現在のロケールではなく、ロケールオブジェクト
+\fIlocale\fP を使う点だけが異なる。
.TP
\fBisalnum\fP()
英字または数字であるかを調べる。 \fB(isalpha(\fP\fIc\fP\fB) || isdigit(\fP\fIc\fP\fB))\fP と等価である。
\fB0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F\fP の文字であるかどうかを調べることと等価である。
.SH 返り値
文字 \fIc\fP が調べた文字の種類に合っていれば 0 以外を返す。 そうでなければ 0 を返す。
+.SH 属性
+.SS "マルチスレッディング (pthreads(7) 参照)"
+.\" FIXME . need a thread-safety statement about the *_l functions
+関数 \fBisalnum\fP(), \fBisalpha\fP(), \fBisascii\fP(), \fBisblank\fP(), \fBiscntrl\fP(),
+\fBisdigit\fP(), \fBisgraph\fP(), \fBislower\fP(), \fBisprint\fP(), \fBispunct\fP(),
+\fBisspace\fP(), \fBisupper\fP(), \fBisxdigit\fP() はスレッドセーフである。
+.SH バージョン
+\fBisalnum_l\fP(), \fBisalpha_l\fP(), \fBisblank_l\fP(), \fBiscntrl_l\fP(),
+\fBisdigit_l\fP(), \fBisgraph_l\fP(), \fBislower_l\fP(), \fBisprint_l\fP(),
+\fBispunct_l\fP(), \fBisspace_l\fP(), \fBisupper_l\fP(), \fBisxdigit_l\fP(),
+\fBisascii_l\fP() は glibc 2.3 以降で利用可能である。
.SH 準拠
-C99, 4.3BSD. C89 では、これらの関数のうち \fBisascii\fP() と \fBisblank\fP() 以外の
-すべてが規定されている。 \fBisascii\fP() は BSD や SVr4 の拡張である。 \fBisblank\fP() は POSIX.1\-2001
-と C99 7.4.1.3 に準拠している。 POSIX.1\-2008 は、 \fBisascii\fP() を廃止予定としている。
-ローカライズされたアプリケーションでは、移植性を確保しつつ、 この関数を使用することはできない点に注意すること。
+C89 では \fBisalnum\fP(), \fBisalpha\fP(), \fBiscntrl\fP(), \fBisdigit\fP(), \fBisgraph\fP(),
+\fBislower\fP(), \fBisprint\fP(), \fBispunct\fP(), \fBisspace\fP(), \fBisupper\fP(),
+\fBisxdigit\fP() が規定されているが、 \fBisascii\fP() と \fBisblank\fP() は規定されていない。 POSIX.1\-2001
+でもこれらの関数は規定されており、\fBisascii\fP() と \fBisblank\fP() も規定されている (\fBisascii\fP() は XSI
+拡張)。 C99 では、ここで挙げた関数のうち \fBisascii\fP() 以外の全てが規定されている。
+
+POSIX.1\-2008 では \fBisascii\fP()
+は廃止予定とされている。ローカライズするアプリケーションで移植性がある形では使用できない点に注意すること。
+
+POSIX.1\-2008 では \fBisalnum_l\fP(), \fBisalpha_l\fP(), \fBisblank_l\fP(),
+\fBiscntrl_l\fP(), \fBisdigit_l\fP(), \fBisgraph_l\fP(), \fBislower_l\fP(),
+\fBisprint_l\fP(), \fBispunct_l\fP(), \fBisspace_l\fP(), \fBisupper_l\fP(),
+\fBisxdigit_l\fP() が規定されている。
+
+\fBisascii_l\fP() は GNU 拡張である。
.SH 注意
ある文字がどの種類に入るかということは、現在のロケールに依存する。 たとえば、デフォルトの \fBC\fP ロケールでは \fBisupper\fP() は A
のウムラウトを認識できないので、それが大文字だということがわからない。
\fBiswalnum\fP(3), \fBiswalpha\fP(3), \fBiswblank\fP(3), \fBiswcntrl\fP(3),
\fBiswdigit\fP(3), \fBiswgraph\fP(3), \fBiswlower\fP(3), \fBiswprint\fP(3),
\fBiswpunct\fP(3), \fBiswspace\fP(3), \fBiswupper\fP(3), \fBiswxdigit\fP(3),
-\fBsetlocale\fP(3), \fBtoascii\fP(3), \fBtolower\fP(3), \fBtoupper\fP(3), \fBascii\fP(7),
-\fBlocale\fP(7)
+\fBnewlocale\fP(3), \fBsetlocale\fP(3), \fBuselocale\fP(3), \fBtoascii\fP(3),
+\fBtolower\fP(3), \fBtoupper\fP(3), \fBascii\fP(7), \fBlocale\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。