C言語では、printf関数を使って文字などの出力を行ってきました。
C++の入出力はC言語とは違う考え方になっています。
まず、インクルードするヘッダファイルが違います。
C言語ではstdio.hでしたが、C++ではiostreamというファイルになります。
とりあえず、1つサンプルを書きましょう。
<sample program cpp002-01>
#include <iostream> int main() { std::cout << "Hello"; return 0; } |
<実行結果>
Hello続行するには何かキーを押してください・・・
iostreamの後ろに「.h」は不要です。
iostreamは、「input-output stream」の略で「入出力ストリーム」という意味です。
コンソールへの出力ストリームは「cout(console output)」と書きます。
「cout」の前に付いている「std::」は「名前空間」と言います。
「名前空間」とは、新しいスコープ(適用範囲)だと思ってください。
また、「std」は「標準(standard)」という意味です。
C++の標準ライブラリで用意されているものは、多くの場合「名前空間std」に所属しています。
「::」は「スコープ解決演算子」と言い、所属を明らかにする場合に使います。
std::cout
と書くと、「名前空間stdに所属しているcout」となります。
「cout」に対して「<<」と書くと、「<<」の右側に書いてある文字や数値がコンソールに送られます。
今回は、文字列「Hello」を書きましたが、改行されていません。
改行は「\n」ですから、↓のように書けます。
<sample program cpp002-02>
#include <iostream> int main() { std::cout << "Hello\n"; return 0; } |
<実行結果>
Hello 続行するには何かキーを押してください・・・
しかし、別の書き方もありますので↓も試してください。
<sample program cpp002-03>
#include <iostream> int main() { std::cout << "Hello" << std::endl; return 0; } |
<実行結果>
Hello 続行するには何かキーを押してください・・・
「endl(end line)」を出力ストリームへ送る事で改行します。
このように、「<<」を付け足していく事でコンソールに文字が表示されます。
次に数値の出力を書いてみます。
<sample program cpp002-04>
#include <iostream> int main() { int value; value = 12; std::cout << value << std::endl; return 0; } |
<実行結果>
12 続行するには何かキーを押してください・・・
数値の場合も文字と同じです。
printf関数の時のように、「%d」などは使いません。
C++側で型を判断し表示してくれます。
文字と数値を混在させる事も簡単に出来ます。
<sample program cpp002-05>
#include <iostream> int main() { int value; value = 12; std::cout << "value = " << value << std::endl; return 0; } |
<実行結果>
value = 12 続行するには何かキーを押してください・・・
ただし、書式を細かく指定するのはprintf関数に比べて面倒です。
当面は必要ありませんので、書式指定はここではやりません。