こんにちは､ そしてお帰りなさい｡
このチャレンジでは､ ファイルの位置を変更することに慣れ親しんでもらいたいと思います｡
そこで､ fseek関数とftell関数を使って､
ファイルの先頭や末尾ではなく､ 真ん中を指定できるように位置を変えてみてほしいのです｡
つまり､ ファイルの中身を逆順に表示するプログラムを書こうとするわけです｡
fseek関数を使って､ ファイルの終わりまでシークするのです｡
つまり､ 位置をファイルの末尾に移動することで､ ファイルの末尾から読み始めるということですね｡
ファイルポインタの位置を取得するために､ ftell関数を使用することになります｡
fseekはポジションを移動させますが､ ftellでポジションを取得して､
それからライティングやリーディングを始める必要があるわけです｡
ファイルを逆順に出力して表示したい｡
そして､ これらはここで再びいくつかの基本的なことになります｡
事前にファイルを作成しておく必要があります｡
あなたが望むものをその中に含む､ ある簡単なテキストファイルです｡
そして､ ファイルポインタを作成して､
そのファイルを開いて読み取り専用にする必要があります｡
ファイルを読み込んでいるとき､ 読み込む前に､ fseekメソッドを使ってファイルの終わりまでシークすることができます｡
fseekメソッドを使ったら､ 次はftellメソッドで実際の位置を取得します｡
そして､ その位置を利用して､ fgetcで文字のプリントアウトを開始することができます｡
そこで､ ファイルポインタの位置を取得し､ それを使って最後までシークし､
何らかの情報を表示できるようにしたい｡
ftellを使う理由は､ whileループがいつ終了するかを知ることができるからです｡
そこで､ バイト数にはftellを使用し､ カウンターをインクリメントすることにします｡
それで､ 基本的にはカウンターを利用して最初から最後まで行き､
それを逆順にプリントしていくことになります｡
というわけで､ これから使うのはこれらの機能です｡
実装の方法はさまざまです｡
これ一本で｡
ご不明な点がございましたら､ メールにてお問い合わせください｡
これでftellとfseek関数に慣れることができそうです｡
ありがとうございます｡