C言語のctype関数の使用方法

ctype関数は、C言語の文字処理関数であり、文字の種類を判定するために使われます。そのプロトタイプは以下の通りです。

#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 tolower(int c);
int toupper(int c);

関数の引数cは文字であり、戻り値は文字が特定の種類に属するか否かを示す非ゼロ値(真)またはゼロ値(偽)です

以下にctype関数の一般的な使い方の例を記載します。

  1. 文字がアルファベットか数字か判断する:
#include <ctype.h>
#include <stdio.h>

int main() {
    char c = 'A';
    if (isalnum(c)) {
        printf("%c 是字母或数字\n", c);
    } else {
        printf("%c 不是字母或数字\n", c);
    }
    return 0;
}
  1. 文字が大文字かどうかを判定する:
#include <ctype.h>
#include <stdio.h>

int main() {
    char c = 'A';
    if (isupper(c)) {
        printf("%c 是大写字母\n", c);
    } else {
        printf("%c 不是大写字母\n", c);
    }
    return 0;
}
  1. 文字を小文字に変換する:
#include <ctype.h>
#include <stdio.h>

int main() {
    char c = 'A';
    printf("转换前:%c\n", c);
    printf("转换后:%c\n", tolower(c));
    return 0;
}
  1. 文字を大文字へ変換
#include <ctype.h>
#include <stdio.h>

int main() {
    char c = 'a';
    printf("转换前:%c\n", c);
    printf("转换后:%c\n", toupper(c));
    return 0;
}

さまざまなctype関数は文字タイプの判定に利用できるが、必要に応じて適宜使い分けるとよいだろう。

bannerAds