C++
 Computer >> コンピューター >  >> プログラミング >> C++

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)に含まれているかどうかを簡単にチェックできます。入力データの検証や文字列処理を行う際に役立つ便利な関数です。

  1. 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); 各要素の意

  2. 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