Menu
CoddyTech

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 以降では false が格納されます。

2. true または false という単語を直接読み取るには、まず std::cin >> std::boolalpha を設定する必要があります。そうしないと、それらの単語は読み取りに失敗します。

challenge icon

チャレンジ

初心者

ユーザー(名前)から入力を受け取り、その後、入力された名前に続けてHello, を出力するプログラムを書いてください。

たとえば、ユーザーがBobを入力した場合、期待される出力はHello, Bobです。

次のことを行う必要があります。

  1. 名前を格納するstring変数を作成します。
  2. ユーザーに名前を入力するよう促します。
  3. 適切なcinメソッドを使って、ユーザーの名前を読み取ります。
  4. 最後にHello, と格納した変数を出力します。

自分で試してみよう

#include <iostream>
#include <string>

int main() {
    
    // ユーザーに名前の入力を促す
    std::cout << "Enter your name: ";
    
    // ユーザーの名前を読み取る
    std::string name;
    
    // 挨拶のメッセージを表示する
    
    return 0;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: C++オンラインコンパイラ