C言語のisalnum()関数とは?使い方とサンプルコードをわかりやすく解説
C言語のisalnum()関数は、指定された文字が英数字(アルファベットまたは数字)であるかどうかを判定するための標準ライブラリ関数です。引数として渡された文字が英字や数字であれば0以外の値(真)を返し、それ以外の文字であれば0(偽)を返します。
この関数を使用するには、ヘッダーファイル「ctype.h」をインクルードする必要があります。
isalnum()関数の構文
int isalnum(int character);
パラメータの説明:
- character − 英数字かどうかを判定したい文字(int型として渡します)
isalnum()関数の使用例
以下は、C言語でisalnum()関数を使った具体的なプログラム例です。
#include<stdio.h>
#include<ctype.h>
int main() {
char val1 = 's';
char val2 = '8';
char val3 = '$';
if(isalnum(val1))
printf("The character is alphanumeric\n");
else
printf("The character is not alphanumeric\n");
if(isalnum(val2))
printf("The character is alphanumeric\n");
else
printf("The character is not alphanumeric");
if(isalnum(val3))
printf("The character is alphanumeric\n");
else
printf("The character is not alphanumeric");
return 0;
}実行結果
The character is alphanumeric The character is alphanumeric The character is not alphanumeric
プログラムの解説
上記のプログラムでは、char型の変数を3つ宣言し、それぞれ異なる値('s'、'8'、'$')で初期化しています。その後、isalnum()関数を使って各変数の値が英数字であるかどうかを判定しています。
if(isalnum(val1))
printf("The character is alphanumeric\n");
else
printf("The character is not alphanumeric\n");判定の結果:
's'→ アルファベットのため英数字と判定される'8'→ 数字のため英数字と判定される'$'→ 記号のため英数字ではないと判定される
このように、isalnum()関数は入力値のバリデーションや文字列の解析など、文字種別のチェックが必要な場面で幅広く活用できます。なお、類似の関数として、英字のみを判定するisalpha()や、数字のみを判定するisdigit()なども「ctype.h」に用意されているので、用途に応じて使い分けるとよいでしょう。
-
C言語の文字操作を徹底解説!宣言方法と入出力関数の使い方
Cプログラミング言語において、文字(character)は英大文字(A〜Z)、英小文字(a〜z)、数字(0〜9)、空白(ホワイトスペース)、または特殊記号のいずれかとして扱われます。文字の宣言方法C言語で文字型変数を宣言する際は、char 型を使用します。文字定数はシングルクォーテーション( )で囲んで指定します。char a = A; /* 文字定数を使用した宣言 */このように宣言することで、変数 a に1文字分のデータを格納できます。文字入出力関数の種類C言語には、文字を入出力するための関数がいくつか用意されています。代表的なものは以下の3組です。scanf / printf: 書式指定
-
C言語のstrcmp()関数とは?文字列比較の基本と使い方を徹底解説
C言語の標準ライブラリ関数 int strcmp(const char *str1, const char *str2) は、ポインタ str1 が指し示す文字列と、str2 が指し示す文字列を比較するための関数です。C言語において、文字型の配列は「文字列」と呼ばれます。まずは文字列の基本的な扱い方から確認していきましょう。文字列の宣言文字列(文字配列)の宣言は以下のように行います。char stringname [size];例えば、char string[50]; と宣言すれば、最大50文字の長さを持つ文字列を格納できます。文字列の初期化文字列の初期化には、主に次の2つの方法があります。1