目次
はじめに
C++のプログラムで、ユーザーに数値を入力してもらったり、名前を打ち込んでもらったりと、キーボードからの入力を受け取りたい場面は必ずあります。この標準的な入力機能を提供するのが、<iostream>ヘッダーで定義されているstd::cin (character input の略) です。
cin から、ストリーム抽出演算子 (>>) を使って、ユーザーが入力したデータを変数に「抽出する(取り出す)」ことで、入力の受け取りが行われます。
この記事では、cinを使った基本的な入力の受け取り方を解説します。
cin を使ったサンプルコード
このコードは、ユーザーに年齢の入力を促し、入力された数値を整数型の変数に格納して、その結果を画面に出力します。
完成コード
#include <iostream>
// using namespace std; を使うと、毎回 std:: と書かなくてよくなる
using namespace std;
int main() {
// 1. 入力された値を格納するための変数を準備
int age;
// 2. ユーザーに入力を促すメッセージを表示
cout << "あなたの年齢を入力してください: ";
// 3. >> 演算子で、cinから変数に入力
cin >> age;
// 4. 入力された値を表示して確認
cout << "あなたの年齢は " << age << "歳ですね。" << endl;
return 0;
}
コードの解説
cin >> age;
これが cin の最も基本的な使い方です。
cin: 標準入力(通常はキーボード)を表すオブジェクトです。>>: ストリーム抽出演算子。左側のストリーム(cin)からデータを取り出し、右側の変数(age)に格納するという意味です。- 動作:
- プログラムはこの行で停止し、ユーザーからのキーボード入力を待ちます。
- ユーザーが数値を入力し、
Enterキーを押します。 cinは、入力された文字列を、代入先の変数ageの型(この場合はint)に合わせて自動的に解釈・変換し、変数に格納します。
エラーハンドリング
もし、int 型の変数を待っているところに、ユーザーが "abc" のような文字列を入力した場合、cin はエラー状態になります。if (cin >> age) のように、if文の条件式として使うことで、入力が成功したかどうかを判定できます。
C++
if (cin >> age) {
// 入力が成功した場合の処理
} else {
// 入力が失敗した場合の処理
}
まとめ
今回は、C++の標準入力 std::cin の基本的な使い方を解説しました。
<iostream>ヘッダーをインクルードする。std::cinオブジェクトから、>>演算子を使って変数に値を読み込む。cinは、読み込んだ文字列を変数の型に合わせて自動で変換してくれる。
cin は、プログラムを対話的にし、ユーザーからのデータを受け取るための、最もシンプルで不可欠なツールです。
