【プログラミング言語C】第1章 「やさしい入門」
1.5 文字入出力
1.5.1 ファイルの複写
この項では文字の入出力について学習します。
文字の入出力には色々な方法がありますがここではgechar()とputchar()を利用します。
getchar()やputchar()は関数と呼ばれる処理のかたまりです。
以前から良く出てくるprintf()も関数になります。
書き方は似ていますがwhile()やfor()は制御文と呼ばれるもので関数とは異なります。
プログラムの目的
キー入力を画面に表示する。
ソースコード
解説
①int c = getchar();
getchar()関数でキーボードからのキーを受け取ります。
この関数はキー入力が入るまで待ち続けます。
キー入力が入ると押されたキーのコードを変数cに代入しています。
このように値を返す関数もあります。
関数の詳細は後ほど別の項で説明します。
ここではgetchar()関数は押されたキーを返す関数と覚えて下さい。
②while (c != EOF) {
変数cの値がEOF以外は、whileループ内の処理を行います。
逆に言えばEOFになるとループから抜けて終了します。
EOFはstdio.hに定義されていてEnd of File(ファイル終端)を意味します。
ここではキーボーでCtrl + Zと入力することでEOF入力ができます。
※getchar()について
getchar()は確かに1文字を読み取る関数であるがEnterキーを押すまでは抜けません。
Enterキーを押した後、まとめてデータがやってきます。
ステップ送りデバッグで動作を見てみると判りやすいと思います。
③putchar(c);
キー入力した値を画面に表示します
④c = getchar();
キー入力の受け取りですね。
先頭①でcは宣言済みですのでintは不要です。
キー入力されるとwhileに戻りcの値がチェックされます。
変形版
K&Rの本では次のような変形版のサンプルも用意されています。
こちらはwhile文の中にgetchar()関数を記述しています。
こちらはソースコードのみの紹介にとどめます。
今回はここまで
ディスカッション
コメント一覧
まだ、コメントがありません