C++サンプル集

【第1部】C言語(K&R検証)編

0003.入力を出力に複写

ソース紹介

CPPファイルに記述
#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    char c;
    while ((c = cin.get()) != EOF) {
        cout.put(c);
    }
    return 0;
}
出力
abcde
abcde
HelloWorld
HelloWorld
^Z

サンプル説明

 ちょっとわかりにくい出力なのですが、これは入力出力に転写するプログラムです。
 起動後はプロンプトが出ますので
abcde
 と記述してEnterを押します。すると
abcde
 と出力します。続いて
HelloWorld
 と入力してEnterを押します。すると
HelloWorld
 と出力します。入力を終えるときは「Ctrl+Z」を入れ、「Enter」を入力します。
^Z
 すると終了します。
 ここまで行った一連の操作は標準入力とエコーと入力の終了を行ったものです。
    while ((c = cin.get()) != EOF) {
 というのは、入力がEOF(ファイルの終端)でない限りという意味です。
        cout.put(c);
 で、そのまま出力しなさいという意味です。
 ひょっとすると「VisualStdioのバージョン」によっては
#include <cstdio>
 は記述しなくてもビルドできるかもしれません(cstdio(stdio.h)はデフォルトでインクルードされている場合があるので)。

K&Rでの記述

 元になったのは第1章:やさしい入門に記述されています。ファイルの複写の説明のところです。