Namespaces
Variants

isalpha

From cppreference.net
< c ‎ | string ‎ | byte
ヘッダーで定義 <ctype.h>
int isalpha ( int ch ) ;

指定された文字がアルファベット文字であるかどうかをチェックします。つまり、大文字( ABCDEFGHIJKLMNOPQRSTUVWXYZ )または小文字( abcdefghijklmnopqrstuvwxyz )のいずれかです。

"C" ロケール以外では、アルファベット文字とは isupper() または islower() true を返す文字、あるいはロケールによってアルファベットと見なされるその他の文字です。いずれの場合も、 iscntrl() isdigit() ispunct() および isspace() はこの文字に対して false を返します。

ch の値が unsigned char として表現不可能であり、かつ EOF と等しくない場合、動作は未定義です。

目次

パラメータ

ch - 分類対象の文字

戻り値

文字がアルファベット文字である場合は非ゼロ値、それ以外の場合はゼロ。

異なるロケール(OS固有)での isalpha の使用例を示します。

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\xdf'; // German letter ß in ISO-8859-1
    printf("isalpha('\\xdf') in default C locale returned %d\n", !!isalpha(c));
    setlocale(LC_CTYPE, "de_DE.iso88591");
    printf("isalpha('\\xdf') in ISO-8859-1 locale returned %d\n", !!isalpha(c));
}

出力例:

isalpha('\xdf') in default C locale returned 0
isalpha('\xdf') in ISO-8859-1 locale returned 1

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • 7.4.1.2 isalpha関数 (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.4.1.2 isalpha関数 (p: 145)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.4.1.2 isalpha関数 (p: 200-201)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.4.1.2 isalpha関数 (p: 181-182)
  • C89/C90標準 (ISO/IEC 9899:1990):
  • 4.3.1.2 isalpha関数

関連項目

ワイド文字が英字かどうかをチェックする
(関数)
**注記**: このHTMLテーブル行には翻訳対象となる自然言語テキストが含まれていません。数値範囲「71–90」、16進数・8進数エスケープシーケンス、文字列、およびC++の条件値(0, ≠0)はすべて翻訳対象外の要素です。
ASCII値 文字

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

10進数 16進数 8進数
0–8 \x0 \x8 \0 \10 制御コード ( NUL など) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 タブ ( \t ) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA \xD \12 \15 空白文字 ( \n , \v , \f , \r ) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE \x1F \16 \37 制御コード ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 スペース 0 ≠0 ≠0 ≠0 0 0 0 0 0 0 0 0
33–47 \x21 \x2F \41 \57 !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48–57 \x30 \x39 \60 \71 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58–64 \x3A \x40 \72 \100 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65–70 \x41 \x46 \101 \106 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71–90 \x47 \x5A \107 \132 GHIJKLMNOP
QRSTUVWXYZ
0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91–96 \x5B \x60 \133 \140 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97–102 \x61 \x66 \141 \146 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103–122 \x67 \x7A \147 \172 ghijklmnop
qrstuvwxyz
0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123–126 \x7B \x7E \173 \176 {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 バックスペース文字 ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0