cin 文
CoddyのC++ジャーニー「基礎」セクションの一部。レッスン 34/74。
これまでは、考えた値を変数に保存してきました。プログラムは通常、このようには動作しません。たとえば、ユーザーなどの外部の情報源から値を受け取ります。
C++でユーザーから入力を受け取るには、cin文を使用します。この文には、整数、浮動小数点数、文字列など、さまざまな種類の入力を読み取るメソッドが用意されています。
cin文を使用するには、まず入力値を格納する変数を宣言する必要があります。次に、抽出演算子>>を使用して標準入力ストリームstd::cinから入力を読み取り、変数に格納します。次のようにします。
int age;
std::cout << "Enter your age: ";
std::cin >> age;抽出演算子 >> は、入力を格納する変数に基づいて、入力を適切なデータ型に自動的に変換します。たとえば、次のとおりです。
// 整数の場合:
std::cin >> intVariable;
// 倍精度浮動小数点数の場合:
std::cin >> doubleVariable;
// 文字列の場合:
std::cin >> stringVariable;C++ のブール値については、cin は 2 つの方法で入力を処理できます。
1. デフォルトでは、cin は 0(false として格納)または 1(true として格納)のみを bool に読み込みます。5 など、それ以外の入力では抽出に失敗し、ストリームの failbit が設定されます。C++11 以降では、0 または 1 以外の数値も true として格納され、数値ではない入力は false として格納されます。
2. true または false という単語を直接読み取るには、まず std::cin >> std::boolalpha を設定する必要があります。そうしないと、これらの単語を読み取れません。
チャレンジ
初心者ユーザーから名前を入力として受け取り、その後、ユーザーが入力した名前に続けてHello, を出力するプログラムを書きましょう。
たとえば、ユーザーがBobと入力した場合、期待される出力はHello, Bobです。
次のことを行う必要があります。
- 名前を格納する
string変数を作成します。 - ユーザーに名前を入力するよう促します。
- 適切な
cinメソッドを使ってユーザーの名前を読み取ります。 - 最後に
Hello,と格納した変数を出力します。
自分で試してみよう
#include <iostream>
#include <string>
int main() {
// ユーザーに名前の入力を促す
std::cout << "Enter your name: ";
// ユーザーの名前を読み取る
std::string name;
// 挨拶のメッセージを表示する
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: C++オンラインコンパイラ