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関数の一般的な使い方の例を記載します。
- 文字がアルファベットか数字か判断する:
#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;
}
- 文字が大文字かどうかを判定する:
#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;
}
- 文字を小文字に変換する:
#include <ctype.h>
#include <stdio.h>
int main() {
char c = 'A';
printf("转换前:%c\n", c);
printf("转换后:%c\n", tolower(c));
return 0;
}
- 文字を大文字へ変換
#include <ctype.h>
#include <stdio.h>
int main() {
char c = 'a';
printf("转换前:%c\n", c);
printf("转换后:%c\n", toupper(c));
return 0;
}
さまざまなctype関数は文字タイプの判定に利用できるが、必要に応じて適宜使い分けるとよいだろう。