01-19-2022 08:46 PM
daqで収集したデータをテキストファイルに書き込んでいるのですが、ここで問題があります。
書き込む行数の上限値を指定してその行数に達したら、先頭を消去して末尾に書き込み続けるというの操作を実行したいのですが、そのような機能が見つかりません。
アドバイスいただけたらありがたいです。
解決済! 解決策の投稿を見る。
01-25-2022 10:03 AM
ファイルポインタでファイルの末尾(ファイルサイズ)は変更できても、先頭は変更できないですね。
書き込み頻度が低く、ファイルサイズがあまり大きくないのなら、全部読んで先頭行を捨てて末尾に追加して上書き。まあ、メモリ上に全データを載せられるならそこで操作して毎回上書きしても同じです。
固定長フィールド(1個のデータの文字数が固定)のファイルなら、文字数(バイト数)で改行位置がわかるので、ファイルポインタを動かして一部(1行?)を上書きすることはできそうです。最大行数に達したら先頭に戻って上書きし続ければ必要なデータは残ります(ファイルの最後尾を変えないよう注意)。ほとんどの場合、最新データの後に最古のデータが並ぶので、閲覧の際に入れ替える必要があります。
01-25-2022 10:08 AM
J.H.Watson様
ご回答ありがとうございます。
色々試行錯誤してみます。