C++ STLのiswalnum()関数とは?ワイド文字が英数字か判定する方法
C++ STLのiswalnum()関数は、指定されたワイド文字(wchar_t)が英数字であるかどうかを判定するための関数です。ここでいう英数字とは、数字(0〜9)、大文字アルファベット(A〜Z)、小文字アルファベット(a〜z)などを指します。
この関数はヘッダーファイル <cwctype> で定義されており、引数に渡した文字が英数字であればゼロ以外の値を返し、そうでなければ0(ゼロ)を返します。
アルゴリズム
Begin 文字を初期化する。 関数 iswalnum(c1) を呼び出して、英数字かどうかを判定する。 英数字であればゼロ以外の値が返され、 そうでなければ 0 が返される。 End
サンプルコード
#include <cwctype>
#include <iostream>
using namespace std;
int main() {
wchar_t c1 = '/';
wchar_t c2 = 'a';
if (iswalnum(c1))
wcout << c1 << " is alphanumeric ";
else
wcout << c1 << " is not alphanumeric ";
wcout << endl;
if (iswalnum(c2))
wcout << c2 << " is alphanumeric ";
else
wcout << c2 << " is not alphanumeric ";
return 0;
}実行結果
/ is not alphanumeric a is alphanumeric
コードの解説
上記の例では、まずワイド文字型 wchar_t の変数 c1 に「/」、c2 に「a」を代入しています。その後、iswalnum() を使ってそれぞれの文字を判定しています。
- c1 の「/」は記号であるため英数字とみなされず、「is not alphanumeric(英数字ではない)」と表示されます。
- c2 の「a」は小文字アルファベットであるため、「is alphanumeric(英数字である)」と表示されます。
このように、iswalnum() 関数を使うことで、ワイド文字列のバリデーションや入力チェックなどの場面で、文字が英数字かどうかを簡単に判別することができます。マルチバイト文字や国際化対応のプログラムにおいて、ワイド文字を扱う際に非常に便利な関数です。
-
C++ STLのcosh()関数とは?双曲線余弦の求め方をサンプルコード付きで解説
cosh()関数とは? C++のSTLに組み込まれているcosh()関数は、ラジアン単位で与えられた角度の双曲線余弦(ハイパボリック・コサイン)を計算して返す関数です。使用するには、<cmath>ヘッダーをインクルードする必要があります。 双曲線余弦は、数学的に次の式で定義されます。 cosh(x) = (e^x + e^(-x)) / 2 構文 cosh()関数の構文は以下の通りです。 cosh(var) 構文から分かるように、cosh()関数はfloat型、double型、long double型のいずれかの引数varを受け取ります。そして、その双曲線余弦を返します。なお、引
-
C++ STLのsinh()関数の使い方を徹底解説
sinh()関数とはsinh()関数は、ラジアンで指定された値の双曲線正弦(ハイパボリックサイン)を返す関数です。C++のSTL(標準テンプレートライブラリ)に組み込まれており、<cmath>ヘッダをインクルードすることで利用できます。双曲線正弦は、以下の数式で定義されます。sinh(x) = (e^x − e^−x) / 2sinh()関数の構文sinh()関数の構文は以下のとおりです。sinh(var)構文からわかるように、sinh()関数はfloat型、double型、long double型のいずれかのパラメータvarを受け取ります。戻り値は、varの双曲線正弦です。sin