C/C++のisalpha()とisdigit()関数の使い方を徹底解説
isalpha()関数とは
isalpha()関数は、渡された文字がアルファベット(英字)であるかどうかを判定するための関数です。この関数は「ctype.h」ヘッダーファイルで宣言されており、引数がアルファベットの場合は0以外の整数値を返し、そうでない場合は0を返します。
C言語におけるisalpha()の構文は以下の通りです。
int isalpha(int value);
引数の説明:
value - 判定対象となる文字を整数型(int)で渡します。通常はchar型の文字をそのまま指定します。
以下はC言語におけるisalpha()の使用例です。
サンプルコード
#include<stdio.h>
#include<ctype.h>
int main() {
char val1 = 's';
char val2 = '8';
if(isalpha(val1))
printf("The character is an alphabet\n");
else
printf("The character is not an alphabet\n");
if(isalpha(val2))
printf("The character is an alphabet\n");
else
printf("The character is not an alphabet");
return 0;
}
実行結果
The character is an alphabet
The character is not an alphabet
isdigit()関数とは
isdigit()関数は、渡された文字が数字(0〜9)であるかどうかを判定するための関数です。この関数も「ctype.h」ヘッダーファイルで宣言されており、引数が数字の場合は0以外の整数値を返し、そうでない場合は0を返します。
C言語におけるisdigit()の構文は以下の通りです。
int isdigit(int value);
引数の説明:
value - 判定対象となる文字を整数型(int)で渡します。
以下はC言語におけるisdigit()の使用例です。
サンプルコード
#include<stdio.h>
#include<ctype.h>
int main() {
char val1 = 's';
char val2 = '8';
if(isdigit(val1))
printf("The character is a digit\n");
else
printf("The character is not a digit\n");
if(isdigit(val2))
printf("The character is a digit\n");
else
printf("The character is not a digit");
return 0;
}
実行結果
The character is not a digit
The character is a digit
まとめ
isalpha()とisdigit()は、いずれも「ctype.h」ヘッダーに含まれる文字分類関数です。C++では「cctype」ヘッダーを使用することもできます。入力値の検証や文字列の解析など、さまざまな場面で活用される基本的な関数なので、ぜひ使い方をマスターしておきましょう。
-
C/C++で学ぶ2-3木(2-3ツリー)とは?検索と挿入のアルゴリズムを徹底解説
2-3木(2-3ツリー)とは2-3木(2-3ツリー)とは、子を持つすべてのノード(内部ノード)が、「1つのデータ要素と2つの子(2ノード)」または「2つのデータ要素と3つの子(3ノード)」のいずれかを持つ木構造のデータ構造として定義されます。定義内部ノードが1つのデータ要素と2つの子を持つ場合、そのノードを「2ノード」と呼びます。内部ノードが2つのデータ要素と3つの子を持つ場合、そのノードを「3ノード」と呼びます。以下のいずれかの条件を満たすとき、かつそのときに限り、Tは2-3木であると言えます。Tが空であること。言い換えれば、Tはノードを一切含みません。Tがデータ要素aを持つ2ノードであるこ
-
C++の文字リテラルと文字列リテラルの違いをわかりやすく解説
C++における文字リテラルと文字列リテラルの基本C++では、シングルクォート( )で囲まれた1文字は「文字リテラル」として扱われ、その型は char になります。例えば a は char 型であり、ASCIIベースのシステムでは整数値 97 を持ちます。一方、ダブルクォート( )で囲まれた1文字または複数文字の並びは「文字列リテラル」として扱われます。その型は const char[] であり、実体は「文字列の長さ + 1」のサイズを持つ配列です。この余分な1文字分は、文字列の終端を示すヌル文字(\0)として確保されています。具体的な違いのポイント文字リテラル: 原則として1文字のみを格納する