[C言語 標準ライブラリ] ctype.hの使い方

ctype.hをインクルードすることで、文字を識別する関数群と大文字⇔小文字に変換する関数が使用可能になります。

スポンサーリンク

関数

int isalnum(int c)

引数が英数字(’A’~’Z’、’a’~’z’、’0’~’9’)の場合に真、それ以外の場合に偽を返します。

使用例:

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

int c = 0;

void Func(int c)
{
	if(isalnum(c)){
		printf("英数字です。\n");
	}else{
		printf("英数字ではありません。\n");
	}
}

int main(void)
{
	Func('A');
	Func('z');
	Func('0');
	Func('+');

	return 0;
}

実行結果:

英数字です。
英数字です。
英数字です。
英数字ではありません。

int isalpha(int c)

引数がアルファベット(’A’~’Z’、’a’~’z’)の場合に真、それ以外の場合に偽を返します。

使用例:

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

int c = 0;

void Func(int c)
{
	if(isalpha(c)){
		printf("アルファベットです。\n");
	}else{
		printf("アルファベットではありません。\n");
	}
}

int main(void)
{
	Func('A');
	Func('z');
	Func('0');
	Func('+');

	return 0;
}

実行結果:

アルファベットです。
アルファベットです。
アルファベットではありません。
アルファベットではありません。

int isblank(int c)

引数が標準ブランク文字(半角スペース(’ ‘)または水平タブ(’\t’))の場合に真、それ以外の場合に偽を返します。

使用例:

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

int c = 0;

void Func(int c)
{
	if (isblank(c)) {
		printf("標準ブランク文字です。\n");
	}else{
		printf("標準ブランク文字ではありません。\n");
	}
}

int main(void)
{
	Func('A');
	Func('0');
	Func('+');
	Func('\n');
	Func(' ');
	Func('\t');

	return 0;
}

実行結果:

標準ブランク文字ではありません。
標準ブランク文字ではありません。
標準ブランク文字ではありません。
標準ブランク文字ではありません。
標準ブランク文字です。
標準ブランク文字です。

int iscntrl(int c)

引数が制御文字(0x00~0x1F、0x7F)の場合に真、それ以外の場合に偽を返します。制御文字はタブや改行などが該当します。

使用例:

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

int c = 0;

void Func(int c)
{
	if (iscntrl(c)) {
		printf("制御文字です。\n");
	}else{
		printf("制御文字ではありません。\n");
	}
}

int main(void)
{
	Func('A');
	Func('0');
	Func('+');
	Func('\n');
	Func('\t');

	return 0;
}

実行結果:

制御文字ではありません。
制御文字ではありません。
制御文字ではありません。
制御文字です。
制御文字です。

int isdigit(int c)

引数が数字(’0’~’9’)の場合に真、それ以外の場合に偽を返します。

使用例:

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

int c = 0;

void Func(int c)
{
	if (isdigit(c)) {
		printf("数字です。\n");
	}else{
		printf("数字ではありません。\n");
	}
}

int main(void)
{
	Func('A');
	Func('0');
	Func('9');
	Func('+');
	Func('\n');

	return 0;
}

実行結果:

数字ではありません。
数字です。
数字です。
数字ではありません。
数字ではありません。

int isgraph(int c)

引数が半角スペース(’ ‘)を除く表示可能な文字の場合に真、それ以外の場合に偽を返します。

int islower(int c)

引数が小文字のアルファベット(’a’~’z’)の場合に真、それ以外の場合に偽を返します。

int isprint(int c)

引数が表示可能な文字の場合に真、それ以外の場合に偽を返します。

int ispunct(int c)

引数が区切り文字の場合に真、それ以外の場合に偽を返します。

int isspace(int c)

引数が空白類文字の場合に真、それ以外の場合に偽を返します。

int isupper(int c)

引数が大文字のアルファベット(’A’~’Z’)の場合に真、それ以外の場合に偽を返します。

int isxdigit(int c)

引数が16進数文字(’0’~’9’、’a’~’f’、’A’~’F’)の場合に真、それ以外の場合に偽を返します。

int tolower(int c)

引数が大文字アルファベットの場合、小文字アルファベットに変換し、それを返します。
引数が大文字アルファベット以外の場合、引数をそのまま返します。

int toupper(int c)

引数が小文字アルファベットの場合、大文字アルファベットに変換し、それを返します。
引数が小文字アルファベット以外の場合、引数をそのまま返します。

コメント