isblank() - ブランク文字種別のテスト

標準

標準/拡張機能 C/C++ 依存項目

Language Environment
Single UNIX Specification、バージョン 3
C++ TR1 C99

両方  

形式

#include <ctype.h>

int isblank(int c);

機能説明

現行の LC_CTYPE ロケール・カテゴリーが、c にブランク文字属性を割り当てているかどうかをテストします。タブ およびスペース 文字は、POSIX ロケール (名前「POSIX」または「C」) 内で ブランク属性を持っています。

ユーザーのネーム・スペースが侵害されるのを回避するため、この非標準関数には 2 つの名前があります。1 つの名前の接頭部には 2 つの下線文字が付き、もう 1 つの名前の接頭部には付きません。接頭部下線文字が付いていない名前は、LANGLVL(EXTENDED) を使用する場合にのみ表示されます。

この関数を使用するには、その外部エントリー・ポイント名を使用する関数 (つまり、2 つの下線文字で始まる名前) を呼び出すか、または LANGLVL(EXTENDED) で コンパイルする必要があります。LANGLVL(EXTENDED) を使用すると、ヘッダー内の関連情報も表示されます。

注: isblank() 関数は、拡張 ASCII の拡張機能のレベルに依存します。詳細は、拡張 ASCII サポートを参照してください。

戻り値

isblank() は、現行の LC_CTYPE ロケール・カテゴリーが、c にブランク文字属性を割り当てている場合、ゼロ以外を戻します。

それ以外の場合は、isblank() は 0 を戻します。

/* This example tests if c is a blank type.  */
#include <stdio.h>
#include <ctype.h>
#include <locale.h>

void check(char c) {
  if ((c != ' ') && (isprint(c)))
    printf(" %c  is ", c);
  else
    printf("x%02x is ", c);
  if (!isblank(c))
    printf("not ");
  puts("a blank type character");
}

main() {
  printf("¥nIn LC_CTYPE category of locale ¥ with name ¥"%s¥":¥n",
     setlocale(LC_CTYPE, NULL));
  check('a');
  check(' ');
  check(0x00);
  check('¥n');
  check('¥t');
}
出力:
In LC_CTYPE category of locale with name “……”;
 a  is not a blank type character
x40 is a blank type character
x00 is not a blank type character
x15 is not a blank type character
x05 is a blank type character

関連情報