第2章 キー・ボードからの入力


さて、今回はキー・ボードからの入力です。 Cでは、あの悪名高きscanf関数を使いました。 C++では、第1章で解説したcoutの仲間のcinを 使います。これは、Cのstdinに相当するものと 考えてよいでしょう。そして、coutの時は演算子 「<<」を使いましたが、今度は「>>」を使います。 何となく感覚的に理解できますね。 早速サンプルのプログラムを作ってみましょう。

前半は、今やったC++の方法で書きました。 後半は、今までのCの方法で書きました。 このようにCとC++をごちゃ混ぜにして書いても あまり問題は起こりません。 しかしこの例題の時、

cout << "あなたは、" << str1 << " と、入力しましたね。\n";

とするとどうでしょうか。実験してみてください。 システムによっては、思ったように動くかもしれません。 筆者のシステムでは、少し困った現象が起こります。 そこで、サンプルのように標準出力にendl(end lineの意味か) を送ってみました。これは、改行と同時にバッファ関係の クリア(フラッシュ)をするものと理解すればよいでしょう。 予期しない変な動作をするときに使ってみてください。

前半が、C++によるプログラム、後半がCによるプログラムです。 どちらも結果は全く同じです。どちらの方法がお好きですか?

第1章でやった「リダイレクト」を使うとどうなるの?同じですね。 たとえば、メモ帳か何かでテキストファイルを作っておいて コマンドラインで、リダイレクトすればファイルの内容を 取得することができます。(キー・ボードからの入力の 代わりにファイルから入力したと考えればよい)では、 実験してみましょう。プログラムの名前は、input02.exeと して、テキストファイルの名前をinput02.txtとしてみましょう。 コマンドラインから次のように実行してみてください。 第1章の時とは、リダイレクトの向きが反対であることに注意してください。 もちろん、この2つのファイルは同じディレクトリにあるものとします。

input02.exe < input02.txt


これを、上のように実行するとinput02.txtの内容がそのまま表示されます。 もちろん、この時input02.txtの内容がstr[64]の中に収まらなくては いけません。リダイレクトは、DOSの機能なので、同じことは C言語で書いたプログラムにも当然当てはまります。


[C++Index] [総合Index] [Previous Chapter] [Next Chapter]

Update Jan/03/1997 By Y.Kumei
当ホーム・ページの一部または全部を無断で複写、複製、 転載あるいはコンピュータ等のファイルに保存することを禁じます。