C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++の基本入出力(cout・cin)をわかりやすく解説


C++の標準ライブラリは、非常に充実した入出力(I/O)機能を提供しており、その詳細については後続の章で扱います。この章では、C++プログラミングにおいて最も基本的かつ頻繁に使われるI/O操作について解説します。

C++の入出力は「ストリーム」と呼ばれるバイト列を通じて行われます。キーボード、ディスクドライブ、ネットワーク接続などのデバイスからメインメモリへ向かってバイトが流れる場合、これを入力操作と呼びます。逆に、メインメモリからディスプレイ画面、プリンター、ディスクドライブ、ネットワーク接続などのデバイスへバイトが流れる場合は、出力操作と呼ばれます。

標準出力ストリーム(cout)

あらかじめ定義されているオブジェクトcoutは、ostreamクラスのインスタンスです。coutオブジェクトは、標準出力デバイス(通常はディスプレイ画面)に「接続」されているものとして扱われます。coutは、次の例のように2つの小なり記号で表されるストリーム挿入演算子 << と組み合わせて使用します。

サンプルコード

#include <iostream>
using namespace std;

int main() {
    char str[] = "Hello C++";
    cout << "Value of str is : " << str << endl;
}

実行結果

Value of str is : Hello C++

C++コンパイラは、出力対象となる変数のデータ型を自動的に判別し、値を表示するために適切なストリーム挿入演算子を選択します。<< 演算子はオーバーロードされているため、int・float・doubleといった組み込み型の数値、文字列、ポインタ値など、さまざまな種類のデータをそのまま出力できます。

また、上記の例のように挿入演算子 << は1つの文の中で何度でも連結して使用でき、endl を指定すると行末に改行が挿入されます。

標準入力ストリーム(cin)

あらかじめ定義されているオブジェクトcinは、istreamクラスのインスタンスです。cinオブジェクトは、標準入力デバイス(通常はキーボード)に接続されています。cinは、次の例のように2つの大なり記号で表されるストリーム抽出演算子 >> と組み合わせて使用します。

サンプルコード

#include <iostream>
using namespace std;

int main() {
    char name[50];

    cout << "Please enter your name: ";
    cin >> name;
    cout << "Your name is: " << name << endl;
}

実行結果

Please enter your name: cplusplus
Your name is: cplusplus

C++コンパイラは、入力された値のデータ型も自動的に判別し、適切なストリーム抽出演算子を選択して値を取り出し、指定された変数に格納します。

ストリーム抽出演算子 >> も、1つの文の中で複数回連結して使用できます。複数のデータを一度に入力したい場合は、次のように記述します。

cin >> name >> age;

これは、以下の2つの文を記述した場合と同じ動作になります。

cin >> name;
cin >> age;

まとめ

C++の基本入出力は、標準出力用のcoutと標準入力用のcinを使いこなすことから始まります。挿入演算子 << と抽出演算子 >> を活用すれば、データ型を意識することなく直感的に入出力処理を記述できます。まずはこれらの基本操作を確実にマスターしておきましょう。

  1. C++で学ぶ基本のグラフィックプログラミング入門

    C++は汎用性の高いプログラミング言語です。C++を使えば、基本的な図形の描画、スタイリッシュなフォントによる文字表示、色付けといった初歩的なグラフィックスも作成できます。グラフィックプログラミングは、ターミナルやコマンドプロンプトから直接行うこともできますし、DevC++コンパイラをダウンロードして開発環境を整える方法もあります。graphics.hライブラリのインストールターミナルでグラフィックプログラミングを行う場合は、GCCコンパイラにgraphics.hライブラリを追加する必要があります。以下のコマンドを順番に入力してください。>sudo apt-get install bui

  2. 【C++入門】ストリームクラスの階層構造と入出力の基本を徹底解説

    C++におけるストリームとは C++における「ストリーム」とは、プログラムと入出力(I/O)デバイスの間でやり取りされる文字データの流れを指します。 ストリームクラスは、ファイルや入出力デバイスに対する入出力操作を扱うためのクラス群です。それぞれのクラスが固有の役割を持っており、プログラムの入力・出力を効率的に処理できます。 C++のすべてのストリームクラスは、iostreamライブラリにまとめられています。 まずは、ストリームクラスの階層構造を見てみましょう。 iostreamライブラリの主要クラス iosクラス iosクラスは、すべてのストリームクラスの基底クラス(ベースクラス)です。