• ベストアンサー

tailコマンドのような処理

あるプログラムが出力しているログファイルの内容を横から覗いてリアルタイムに画面表示する、tailコマンドの様な処理を書きたいのですが、やりかたがわかりません。 fopenしてその時点のeofまで読みこみ、その後は周期的にfgetsすれば追記分が読めるかなと思ったのですが、一度eofを迎えたらもうその先が追加されていても読めなくなってしまいました。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

fopenして読めているのであれば、fopenしてeofまで読み込みfclose、時間をおいてまたfopenして前回eofだった場所までfseekしてeofまで読み込みfclose、を繰り返してみては。

1qazxsw2
質問者

お礼

そうでしたそうでしたftell&fseekですね、久しぶりですっかり忘れていました。 ありがとうございました。

その他の回答 (2)

  • rentahero
  • ベストアンサー率53% (182/342)
回答No.3

tail(1)のソースは読んだ? ちなみにFreeBSDのtailは相手がファイルならstatを見て、freopenで処理してます。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

tailコマンドのような処理としては試してないのですが clearerr(FILE*)を使えばeofはクリアできます

関連するQ&A

専門家に質問してみよう