.\" 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. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%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) .\" Modified Sat Sep 2 21:52:01 1995 by Jim Van Zandt .\" Modified Mon May 27 22:55:26 1996 by Martin Schulze (joey@linux.de) .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 1997 Ueyama Rui .\" all rights reserved. .\" Translated 1997-08-29, Ueyama Rui .\" Updated 1999-07-16, Kentaro Shirakata .\" Updated 2005-02-26, Akihiro MOTOKI .\" Updated 2007-05-01, Akihiro MOTOKI, LDP v2.46 .\" .TH ISALPHA 3 2017\-09\-15 GNU "Linux Programmer's Manual" .SH 名前 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 \- 文字を分類する .SH 書式 .nf \fB#include \fP .PP \fBint isalnum(int \fP\fIc\fP\fB);\fP \fBint isalpha(int \fP\fIc\fP\fB);\fP \fBint iscntrl(int \fP\fIc\fP\fB);\fP \fBint isdigit(int \fP\fIc\fP\fB);\fP \fBint isgraph(int \fP\fIc\fP\fB);\fP \fBint islower(int \fP\fIc\fP\fB);\fP \fBint isprint(int \fP\fIc\fP\fB);\fP \fBint ispunct(int \fP\fIc\fP\fB);\fP \fBint isspace(int \fP\fIc\fP\fB);\fP \fBint isupper(int \fP\fIc\fP\fB);\fP \fBint isxdigit(int \fP\fIc\fP\fB);\fP .PP \fBint isascii(int \fP\fIc\fP\fB);\fP \fBint isblank(int \fP\fIc\fP\fB);\fP .PP \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 .PP \fBint isascii_l(int \fP\fIc\fP\fB, locale_t \fP\fIlocale\fP\fB);\fP .fi .PP .RS -4 glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照): .RE .PP .ad l \fBisascii\fP(): .RS 4 _XOPEN_SOURCE || /* Glibc since 2.19: */ _DEFAULT_SOURCE || /* Glibc versions <= 2.19: */ _SVID_SOURCE .RE .PP \fBisblank\fP(): .RS 4 _ISOC99_SOURCE || _POSIX_C_SOURCE\ >=\ 200112L .RE .PP \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 .PP \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 でなければならない。 "_l" が後ろに付かない関数は現在のロケールに基づいてチェックを行う。 .PP "_l" で終わる関数は、ロケールオブジェクト \fIlocale\fP で指定されたロケールに基づいてチェックを行う。 \fIlocale\fP が特別なロケールオブジェクト \fBLC_GLOBAL_LOCALE\fP (\fBduplocale\fP(3) 参照) の場合や、 \fIlocale\fP が有効なオブジェクトロケールハンドルでない場合、 これらの関数の動作は未定義である。 .PP 以下のリストでは、 "_l" が後ろに付かない関数の動作を説明する。 "_l" で終わる関数は、現在のロケールではなく、ロケールオブジェクト \fIlocale\fP を使う点だけが異なる。 .TP \fBisalnum\fP() 英字または数字であるかを調べる。 \fB(isalpha(\fP\fIc\fP\fB) || isdigit(\fP\fIc\fP\fB))\fP と等価である。 .TP \fBisalpha\fP() アルファベットかどうか調べる。標準の \fB"C"\fP ロケールでは \fB(isupper(\fP\fIc\fP\fB) || islower(\fP\fIc\fP\fB))\fP と等価である。他のロケールでは、大文字でも小文字でもない他の文字でも \fBisalpha\fP() が true を返すことがある。 .TP \fBisascii\fP() \fIc\fP が、ASCII文字セットに合致する 7ビットの \fIunsigned char\fP であるかを調べる。 .TP \fBisblank\fP() 空白文字 (スペースかタブ) であるかを調べる。 .TP \fBiscntrl\fP() 制御文字かどうかを調べる。 .TP \fBisdigit\fP() 数字 (0〜9) かどうかを調べる。 .TP \fBisgraph\fP() 表示可能な文字かどうかを調べる。スペースは含まれない。 .TP \fBislower\fP() 小文字かどうかを調べる。 .TP \fBisprint\fP() 表示可能な文字かどうかを調べる。スペースも含まれる。 .TP \fBispunct\fP() 表示可能な文字かどうかを調べる。スペースと英数字は含まれない。 .TP \fBisspace\fP() 空白文字かどうかを調べる。 \fB"C"\fP ロケールか \fB"POSIX"\fP ロケールでは、空白文字とは、スペース、フォームフィード (\fB\(aq\ef\(aq\fP) 、改行(newline) (\fB\(aq\en\(aq\fP) 、復帰(carriage return) (\fB\(aq\er\(aq\fP) 、水平タブ (\fB\(aq\et\(aq\fP) 、垂直タブ (\fB\(aq\ev\(aq\fP) である。 .TP \fBisupper\fP() 大文字かどうかを調べる。 .TP \fBisxdigit\fP() 16進数での数字かどうかを調べる。 .br \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 バージョン \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 属性 この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。 .ad l .TS allbox; lbw32 lb lb l l l. インターフェース 属性 値 T{ \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() T} Thread safety MT\-Safe .TE .ad .\" FIXME: need a thread-safety statement about the *_l functions .SH 準拠 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() 以外の全てが規定されている。 .PP POSIX.1\-2008 では \fBisascii\fP() は廃止予定とされている。ローカライズするアプリケーションで移植性がある形では使用できない点に注意すること。 .PP 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() が規定されている。 .PP \fBisascii_l\fP() は GNU 拡張である。 .SH 注意 The standards require that the argument \fIc\fP for these functions is either \fBEOF\fP or a value that is representable in the type \fIunsigned char\fP. If the argument \fIc\fP is of type \fIchar\fP, it must be cast to \fIunsigned char\fP, as in the following example: .PP .in +4n .EX char c; \&... res = toupper((unsigned char) c); .EE .in .PP This is necessary because \fIchar\fP may be the equivalent of \fIsigned char\fP, in which case a byte where the top bit is set would be sign extended when converting to \fIint\fP, yielding a value that is outside the range of \fIunsigned char\fP. .PP ある文字がどの種類に入るかということは、現在のロケールに依存する。 たとえば、デフォルトの \fBC\fP ロケールでは \fBisupper\fP() は A のウムラウトを認識できないので、それが大文字だということがわからない。 .SH 関連項目 \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), \fBnewlocale\fP(3), \fBsetlocale\fP(3), \fBtoascii\fP(3), \fBtolower\fP(3), \fBtoupper\fP(3), \fBuselocale\fP(3), \fBascii\fP(7), \fBlocale\fP(7) .SH この文書について この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は \%https://www.kernel.org/doc/man\-pages/ に書かれている。