課題 [13] ファイル処理(4/9)

問 4(提出プログラム名:ex1304.c)

まず,このプログラム(ex1304.c)このデータファイル(data1304.txt)をダウンロードしなさい.このプログラムは「実行するたびに,それが何回目の実行なのかを画面に表示する」ことを目指しているが未完成になっている.以下の手順に従って目的を達成するようプログラムを完成させなさい.

【手順】手順(2)及び(4)~(6)を完成させなさい.
(1)ファイル COUNTER を読み取りモードでオープンする(エラー処理も行う).(実装済
  ※ COUNTER はマクロとして定義済みである.
(2)ファイルに書いてある整数 x を読み込む
(3)ファイルをいったんクローズする.(実装済
(4)同じファイルを改めて書き込みモードでオープンする.《要注意》エラー処理も行うこと!
(5)ファイルへ x+1 を書き込む
(6)ファイルをクローズする.
(7)画面に「あなたは○回目の利用ですね.」と表示する.○に入る値は x+1 とする.(実装済

【注意】
ファイル data1304.txt を VSCode やメモ帳といったアプリで開いたままプログラムを実行しないこと.
ファイルがロックされて上書きに失敗することがある.

【注意すべき点】
x をファイルから読み込む際には fscanf を使い,
x+1 をファイルへ書き込む際には fprintf を使います(書式指定はどちらも "%d" です).
まれに,文字の読み書きと混乱している人がいて,x をファイルから読み出すのに fgetc を使ってしまい,x+1 をファイルに書き込むのに fputc を使ってしまうというミスがありますので注意してください.
fgetc, fputc での読み書きは「1 文字」のデータになりますので間違えないようにしてください.

  • 【プログラムの実行結果】(その1) 1 回目の実行
あなたは 1 回目の利用ですね.
  • 【プログラムの実行結果】(その1) 2 回目の実行
あなたは 2 回目の利用ですね.

【過去にあったミス(実際に減点となり,やり直しを命じられた例)】
実行の画面出力が上の例と違うきちんと確認していない).
ファイルオープンでのエラー処理を忘れてしまっている.
ファイルのクローズを忘れてしまっている.
インデントに不備がある(VSCode 上でインデントを自動で揃える作業をやっていない).


ミスが無いことを確認したら次の問題へ → [ 問5 (ex1305.c) ]