標準入出力cinとcout
Visual C++ 2010サンプルプログラム
C++における標準入出力のためのストリームオブジェクトとしてcinおよびcoutがある。標準出力はコンソール画面であり、標準入力はキーボードが割り当てられている。キーボードで入力した文字はコンソール画面に表示される。文字列を出力するときは
cout << 文字列;
とcoutの次に<<をおいて、出力したい文字列を<<の右側に書く。coutやcinを使用するときはヘッダーファイルiostreamが必要であるので、
#include <iosteam>
とプログラムの先頭の方に書いておく。また、coutやcinは、stdという名前のグループ(名前空間)に属するので、
using namespace std;
とusing指令をおく。
cout
<< "Hello...";
と出力すると、文字列「Hello...」が画面に出力される。続けて
cout << " Are you
enjoying programming ?";
と実行すると、先に出力された文字列「Hello...」に続けて(右側に)文字列「 Are you enjoying programming ?」が出力される。
cout << 文字列1 << ・・・ << 文字列n;
とすると、複数の文字列1、・・・、文字列nが続けて出力され、「文字列1・・・文字列n」が表示される。
coutによる出力では、出力内容は一旦バッファに蓄えられ、適当なときにまとめて出力されるが、「endl」を出力すると、バッファの内容が全て出力され、次の出力位置が次行の先頭に移る。
cout
<< "Hello...";
cout
<< " Are you enjoying programming
?";
cout
<< endl;
cout << "こんにちは。" << " プログラミングは楽しいです。" << endl;
と出力すると、画面には
Hello... Are you enjoying programming ?
こんにちは。 プログラミングは楽しいです。
と表示される。
式あるいは変数の値を出力するときは、
cout << 式;
あるいは
cout << 変数;
というように<<の右側に出力する式あるいは変数をおく。
変数に値を設定するときは
cin >> 変数;
と書けば、キーボードで設定した値(コンソール画面に表示されている)が変数に設定される。
次のコードの実行例を図1に示す。
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout
<< "Hello...";
cout
<< " Are you enjoying programming ?";
cout
<< endl;
cout
<< "こんにちは。" << " プログラミングは楽しいです。" << endl;
double
a;
cout
<< "a = ";
cin
>> a;
double
b;
cout
<< "b = ";
cin
>> b;
cout
<< "a + b = " << a + b << endl;
cout
<< a << " + " << b << " = "
<< a + b << endl;
cout
<< "何か整数値を入力して、Enterキーを押して下さい。終了します" << endl;
int
c;
cin
>> c;
return
0;
}
図1
上のコードの実行開始時の画面は図2のようである(端をドラッグして画面を小さくしてある)。
図2
キーボードのキーを「1.5」と押すと図3の状態になる。
図3
図3の状態でEnterキーを押すと、
cin >> a;
の実行により、文字列「1.5」がその表わす数値に変換されて変数aに設定される。続いて
cout
<< "b = ";
cin >> b;
の実行により、図4の画面で入力待ちの状態となる。
図4
図1の画面まで進んだとき、適当な整数値を入力すると
cin >> c;
の実行が終わり、最後の文
return 0;
が実行されて、プログラムの実行終了となる。