Oracle Solaris でのアプリケーションの国際化とローカライズ

印刷ビューの終了

更新: 2014 年 7 月
 
 

整数コード文字分類関数

次の関数は文字分類に使用され、true の場合はゼロ以外の値を返し、false の場合は 0 を返します。isascii() 関数以外のすべての関数は、ロケールに依存します。特に、現在のロケールが LC_CTYPE カテゴリの場合はこれに該当します。

isalpha()

英字をテストします

isalnum()

英数字をテストします

isascii()

7 ビットの US-ASCII 文字をテストします

isblank()

空白文字をテストします

iscntrl()

制御文字をテストします

isdigit()

10 進数をテストします

isgraph()

表示可能文字をテストします

islower()

小文字をテストします

isprint()

出力可能文字をテストします

ispunct()

句読点文字をテストします

isspace()

ホワイトスペース文字をテストします

isupper()

大文字をテストします

isxdigit()

16 進数をテストします

これらの関数は UTF-8 などのマルチバイトコードセットのロケールでは使用しないでください。マルチバイトコードセットには、次のセクションで説明するワード文字分類関数を使用します。

これらの関数の一部の動作は、コンパイル時に使用されたコンパイラオプションによっても異なります。isalpha()isgraph()isprint()isxdigit() 関数の「デフォルト」および標準準拠の動作については、ctype(3C) のマニュアルページを参照してください。たとえば、isalpha() 関数は次のように定義されています。

デフォルト isalpha()

任意の文字の isupper() または islower() が true であることをテストします。

標準準拠 isalpha()

任意の文字の isupper() または islower() が true であること、または現在のロケール定義の文字セットの 1 つである任意の文字の iscntrl()isdigit()ispunct()、または isspace() のどれも true でないことをテストします。C ロケールでは、isalpha() は、isupper() または islower() が true である文字に対してのみ true を返します。

ここには、アラビア語、ヘブライ語、タイ語など、大文字と小文字の区別がない (unicase とも呼ばれる) 言語またはアルファベットから生じる問題があります。ヘブライ語の従来のロケール he_IL.ISO8859-8 の aleph (0xE0) などのアルファベット文字の場合、関数 isupper() および islower() は常に false を返します。したがって、isalpha() 関数も常に false を返すことになります。コンパイラオプションが標準準拠の動作に対応している場合、isalpha() 関数はこうした文字に対して true を返します。詳細は、isalpha(3C) および standards(5) のマニュアルページを参照してください。

Oracle Solaris Studio 12.3: C ユーザーガイド』と、ctype(3C) および SUSv3(5) のマニュアルページも参照してください。