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

C ++でのcin.ignore()の使用は何ですか?


cin.ignore()関数は、入力バッファーから1つ以上の文字を無視またはクリアするために使用されます。

ignore()が機能していることを理解するには、1つの問題を確認する必要があり、その解決策はignore()関数を使用して見つけられます。問題は以下のようなものです。

不要なバッファをクリアする必要がある場合があるため、次の入力が行われると、目的のコンテナに格納されますが、前の変数のバッファには格納されません。たとえば、cinステートメントを入力した後、文字配列または文字列を入力する必要があります。したがって、入力バッファをクリアする必要があります。そうしないと、前の変数のバッファを占有します。最初の入力後に「Enter」キーを押すと、前の変数のバッファーに新しいデータを保持するスペースがあるため、プログラムは次のコンテナーの入力をスキップします。

#include<iostream>
#include<vector>
using namespace std;
main() {
   int x;
   char str[80];
   cout << "Enter a number and a string:\n";
   cin >> x;
   cin.getline(str,80); //take a string
   cout << "You have entered:\n";
   cout << x << endl;
   cout << str << endl;
}

出力

Enter a number and a string:
8
You have entered:
8

整数と文字列には2つのcinステートメントがありますが、数値のみが使用されます。 Enterキーを押すと、入力を行わずにgetLine()関数をスキップします。入力を受け取ることもありますが、整数変数のバッファー内にあるため、文字列を出力として表示できません。

この問題を解決するために、cin.ignore()関数を使用します。この関数は、指定された範囲までの入力を無視するために使用されます。このようにステートメントを書くと-

cin.ignore(numeric_limits::max(), ‘\n’)

次に、改行文字を含む入力も無視します。

#include<iostream>
#include<ios> //used to get stream size
#include<limits> //used to get numeric limits
using namespace std;
main() {
   int x;
   char str[80];
   cout << "Enter a number and a string:\n";
   cin >> x;
   cin.ignore(numeric_limits<streamsize>::max(), '\n'); //clear buffer before taking new
   line
   cin.getline(str,80); //take a string
   cout << "You have entered:\n";
   cout << x << endl;
   cout << str << endl;
}

出力

Enter a number and a string:
4
Hello World
You have entered:
4
Hello World

  1. C ++のconstキーワードとは何ですか?

    const修飾子を使用して、変数を定数として宣言します。つまり、変数が初期化されると、値を変更することはできません。 constを使用すると、非常に大きなメリットがあります。たとえば、PIの値のような定数値がある場合、プログラムのどの部分もその値を変更したくないでしょう。したがって、それを定数として宣言する必要があります。 const修飾型で宣言されたオブジェクトは、コンパイラによって読み取り専用メモリに配置される場合があります。また、constオブジェクトのアドレスがプログラムに取り込まれない場合は、まったく格納されない場合があります。たとえば、 #include<iostream&

  2. PHPでのini_set()の使用法は何ですか?

    PHPを使用すると、ユーザーはini_set()を使用してphp.iniに記載されている設定の一部を変更できます。この関数には2つの文字列引数が必要です。 1つ目は変更する設定の名前で、2つ目はそれに割り当てられる新しい値です。 パラメータ 変数名 使用可能なすべてのオプションをini_set()を使用して変更できるわけではありません。付録には、利用可能なすべてのオプションのリストがあります。 新しい値 オプションの新しい値。 例 <?php    ini_set('display_errors', '1'); ?> コード