非常に大きなインデックスファイルがあるプログラム(Linux用)を実行する必要があり、ファイルからデータを検索して解釈する必要があります。今のところ、私はいつでもxバイトのファイルのみをキャッシュすることが許可されているので(引数によって決定されます)、探しているものでない場合は、特定のデータをキャッシュから削除する必要があります。
私の理解が正しければ、fopen(r)はキャッシュに何も入れません。getcまたはfread(サイズを指定)を呼び出したときにのみキャッシュされます。
だから私の質問は、私がfreadを使用して100バイトを読み取ったとしましょうが、それをチェックした後、100バイトのうち20バイトだけが必要なデータを含んでいます。ファイルからさらに読み取るために、無駄な80バイトをキャッシュから削除(または上書き)するにはどうすればよいですか?
編集キャッシュとは、メモリに保存されたデータを意味します。これにより、問題が簡単になります。