#ctype.h

ctype.h ヘッダー ファイルは、一連の文字処理関数のプロトタイプを定義します。

文字テスト機能

これらの関数は、文字が特定のタイプに属するかどうかを判断するために使用されます。

  • isalnum(): 英数字かどうか
  • isalpha(): 文字かどうか
  • isdigital(): 数値かどうか
  • isxdigital(): 16進数文字かどうか
  • is lower(): 小文字かどうか
  • isupper(): 大文字かどうか
  • isblank(): 標準の空白文字 (スペース、水平タブ、改行文字を含む) かどうか
  • isspace(): 空白文字(スペース、ラインフィード、フォームフィード、キャリッジリターン、垂直タブ、水平タブなど)かどうか
  • iscntrl(): Ctrl + B などの制御文字であるかどうか
  • isprint(): 印刷可能な文字かどうか
  • isgraph(): スペースを除く印刷可能な文字かどうか
  • ispunct(): 句読点かどうか (スペース、文字、数字を除く印刷可能な文字)

テスト対象の文字を引数として受け取ります。パラメータとして EOF が許可されているため、パラメータの型は char ではなく int であることに注意してください。

引数の文字が指定された型の場合は、ゼロ以外の整数 (通常は true を意味する '1') を返し、それ以外の場合は '0' (false を意味する) を返します。

以下は、ユーザーが文字を入力し、プログラムがそれが英語の文字であるかどうかを判断する例です。

#include <stdio.h>
#include <ctype.h>

int main(void) {
  char ch = getchar();

  if (isalpha(ch))
    printf("これは英字です。\n");
  それ以外
    printf("英字ではありません。\n");

  0を返します。
}

##文字マッピング関数

このタイプの関数は、対応する文字の形式を返します。主な関数は 2 つあります。

  • to lower(): パラメータが大文字の場合は小文字を返し、それ以外の場合は元のパラメータを返します。
  • toupper(): パラメータが小文字の場合は大文字を返し、それ以外の場合は元のパラメータを返します。
// 文字を大文字に変換します
ch = toupper(ch);

これら 2 つの関数は元の文字を変更しないことに注意してください。


作者: wangdoc

アドレス: https://wangdoc.com/

ライセンス: クリエイティブ・コモンズ 3.0