テストの返却をして、解説。 授業時間内の課題レポート時間をとれていないので、最初に説明を行う。
テスト問題のネタに、タグの無効化"<"⇒"<"等を使っているので、簡単に補足。 カレントディレクトリと相対PATHでファイルを表示する出題では、 「カレントディレクトリの末尾に"/"が付いていたら?」、 「"../"で想定ディレクトリ以外をアクセスされるかも?」、 「"./././././././././././……"というPATHとしては正しいけどバッファオーバフローさせるファイル名が使われるかも…」といったセキュリティを考えたプログラミングの定番を解説。 こういった手口まで考えてプログラムを作ると複雑化するけど、 実際のプログラミングではこういう所まで注意までしなくてはいけない… といった雑学ネタを補足する。
前期期末レポート課題
ファイル入出力の課題として、何らかのデータ加工をする処理でファイル入出力を使ってプログラムを作成する。処理は今回のテスト問題での「日付とイベント名で指定日付範囲のイベントを出力」といったものでも良い。 ただし、以下の2つのバージョンで作成すること。
- 入出力それぞれのfopenを使って入出力で記述
- 標準入力・出力を使ってプログラムを作り、入出力リダイレクトを使う