C++のisprint()関数とは?使い方とサンプルコードをわかりやすく解説
C++のisprint()関数とは
isprint()は、C++であらかじめ用意されている標準ライブラリ関数の一つで、引数として渡された文字が「印字可能文字(画面に表示できる文字)」かどうかを判定します。判定の結果、文字が印字可能であれば0以外の値(真)を返し、そうでなければ0(偽)を返します。この関数を使用するには、ヘッダーファイル「cctype」をインクルードする必要があります。
isprint()の構文
C++におけるisprint()関数の構文は以下の通りです。
int isprint(int character);
character − 印字可能かどうかを判定したい文字を指定します。
サンプルプログラム
以下は、C++におけるisprint()関数の使用例です。
#include<iostream>
#include<cctype>
using namespace std;
int main() {
int val1 = 28;
int val2 = 's';
int val3 = '\n';
if(isprint(val1))
cout << "value is printable"<< endl;
else
cout << "value is not printable"<< endl;
if(isprint(val2))
cout << "value is printable"<< endl;
else
cout << "value is not printable"<< endl;
if(isprint(val3))
cout << "value is printable"<< endl;
else
cout << "value is not printable"<< endl;
return 0;
}
実行結果
value is not printable value is printable value is not printable
プログラムの解説
上記のプログラムでは、val1、val2、val3という3つの変数を宣言し、それぞれの変数に対してisprint()関数を使って文字が印字可能かどうかを判定しています。
if(isprint(val1)) cout << "value is printable"<< endl; else cout << "value is not printable"<< endl; if(isprint(val2)) cout << "value is printable"<< endl; else cout << "value is not printable"<< endl; if(isprint(val3)) cout << "value is printable"<< endl; else cout << "value is not printable"<< endl;
実行結果から読み取れる各変数の判定内容は以下の通りです。
- val1(値:28):ASCIIコードの28番は制御文字に相当するため、isprint()は0(偽)を返し、「not printable」と出力されます。
- val2(値:'s'):アルファベットは印字可能な文字であるため、「printable」と出力されます。
- val3(値:'\n'):改行文字などの制御文字は画面に直接表示されないため、「not printable」と出力されます。
このように、isprint()関数を使うことで、文字が表示可能な範囲(一般的にはASCIIコードの0x20〜0x7E)に含まれているかどうかを簡単にチェックできます。入力データの検証や文字列処理を行う際に役立つ便利な関数です。
-
C++のexpm1()関数とは?使い方とコード例を解説
expm1()関数は、自然対数の底eを任意の数で累乗した値から1を引いた結果を計算するために使用される数学関数です。つまり、(e^a) - 1 の値を返します。 expm1()の数学的な表現は以下の通りです。 expm1(a) = (e^a) - 1 なお、xが非常に小さい値の場合、e^xは1に近づくため、通常の方法(exp(x) - 1)で計算すると桁落ちによって精度が低下します。expm1()関数を使うことで、このようなケースでも高精度な結果を得ることができます。 C++におけるexpm1()関数の構文は以下の通りです。 float expm1(variable_name); 各要素の意
-
C++のlog1p()関数とは?使い方とサンプルコードをわかりやすく解説
C++のlog1p()関数の概要C++のlog1p()関数は、任意の数値 a に対して「(a + 1) の自然対数(底が e の対数)」を計算するための関数です。戻り値として (a+1) の自然対数の値が返されます。なお、引数に -1 未満の値 を渡した場合は、有効な結果が得られないため NaN(Not a Number) が返される点に注意が必要です。数学的な表現log1p() の動作は、次の数式で表すことができます。log1p(a) = base-e log(a+1)log1p()の構文C++における log1p() 関数の構文は以下のとおりです。float log1p(float var