ISALPHA
Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index
JM Home Page
roff page
名前
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():
-
_XOPEN_SOURCE
|| /* Glibc since 2.19: */ _DEFAULT_SOURCE
|| /* Glibc versions <= 2.19: */ _SVID_SOURCE
isblank():
-
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
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 を返す。
バージョン
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 以降で利用可能である。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース | 属性 | 値
|
isalnum(),
isalpha(),
isascii(),
isblank(),
iscntrl(),
isdigit(),
isgraph(),
islower(),
isprint(),
ispunct(),
isspace(),
isupper(),
isxdigit()
| Thread safety | MT-Safe
|
準拠
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 拡張である。
注意
The standards require that the argument c for these functions is either
EOF or a value that is representable in the type unsigned char. If
the argument c is of type char, it must be cast to unsigned char,
as in the following example:
char c;
...
res = toupper((unsigned char) c);
This is necessary because char may be the equivalent of signed char,
in which case a byte where the top bit is set would be sign extended when
converting to int, yielding a value that is outside the range of
unsigned char.
ある文字がどの種類に入るかということは、現在のロケールに依存する。 たとえば、デフォルトの 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), toascii(3), tolower(3),
toupper(3), uselocale(3), ascii(7), locale(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/ に書かれている。
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- バージョン
-
- 属性
-
- 準拠
-
- 注意
-
- 関連項目
-
- この文書について
-
This document was created by
man2html,
using the manual pages.
Time: 16:46:41 GMT, November 24, 2023