演習17-1

【問1】

サンプル17-1 のプログラムを getc()関数と putc()関数を用いて書き換えなさい。

(注)getc()関数は入力が終了したら NULL ではなく EOF を返します。

間違えると恐ろしいことが起きますから、間違えないで下さいね。

【問2】

次の手順でキーボードから入力したデータをファイルに書き込むプログラムを作成しなさい。

  1. 追加モードで "car.dat" をオープンする。
  2. 無限ループで以下の処理を行う。
    1. メーカー名を文字列で入力する。 メーカ名に "end" が入力されたら無限ループを終了する。
    2. 車種を文字列で入力する。
    3. 排気量を 10進数で入力する。
    4. これらのデータを 1. でオープンしたファイルに書き込む。
  3. 1. でオープンしたファイルを閉じる。

尚、typeコマンドで "car.dat" を表示して中身を確認しなさい。

実行例

A:\>smpl
メーカー名を入力して下さい(終了条件:end) HONDA
車種を入力して下さい CIVIC
排気量を入力して下さい 1500
メーカー名を入力して下さい(終了条件:end) TOYOTA
車種を入力して下さい LEVIN
排気量を入力して下さい 1600
メーカー名を入力して下さい(終了条件:end) end
A:\>type car.dat
メーカー名:HONDA 車種:CIVIC 排気量:1500
メーカー名:TOYOTA 車種:LEVIN 排気量:1600


 緑字はキーボードからの入力

【問3】

次の手順でバックアップファイルを作成するバッチファイルを作りなさい。

(注)MS-DOSベースの作業とする。

  1. 作成プログラムの処理

    変換例)

    変換前(BKCPファイル)
    
    ドライブ A: のボリュームラベルはありません。
    ボリュームシリアル番号は 3C6F-0DEA
    ディレクトリは A:\
    
    SEC01.HTML SEC02.HTML SEC03.HTML SEC04.HTML SEC05.HTML
    SEC06.HTML SEC07.HTML SEC08.HTML SEC09.HTML
    
    	9個		72,938バイトのファイルがあります。
    	0ディレクトリ	1384,381バイトの空きがあります。
    
    変換後(BKCP.BATファイル)
    
    COPY SEC01.HTML SEC01.BAK
    COPY SEC02.HTML SEC02.BAK
    COPY SEC03.HTML SEC03.BAK
    COPY SEC04.HTML SEC04.BAK
    COPY SEC05.HTML SEC05.BAK
    COPY SEC06.HTML SEC06.BAK
    COPY SEC07.HTML SEC07.BAK
    COPY SEC08.HTML SEC08.BAK
    COPY SEC09.HTML SEC09.BAK
    
  2. バックアップファイルの作成処理
    1. "dir"コマンドを用いてバックアップしたいファイルをリダイレクションで新規ファイルに格納する。

      例) A:\>dir *.htm /w > bkcp

    2. 作成プログラムにコマンドラインで、1. で作成したファイル(BKCP)を指定し、バックアップ用バッチファイル(BKCP.BAT)を作成する。

      例) A:\>mkbat bkcp

      注) "mkbat" は作成プログラムとする。

    3. バックアップ用バッチファイル(BKCP.BAT)を実行し、バックアップファイルを作成する。

解答例戻る


banner初心者のためのポイント学習C言語」
Copyright(c) 2000-2004 TOMOJI All Rights Reserved