Cプログラムでは、通常のファイルで正確な文字列を検索する必要があります(Linuxを使用しています)。検索するにはどうすればよいですか?
私の最初の仮定は、ファイルの各行を(fgets()を介して)RAMに移動し、移動するたびに、その行が正しい文字列であるかどうかを確認することでした。そうでない場合、ループはfgets()を再呼び出しし、EOFまで文字列をチェックします。
しかし、1億5000万行のファイルはどうなるのでしょうか。この種の順次検索はまったく効果がないように思われることがあります。
しかし、プログラムがファイルに追加する行を並べ替えるために挿入ソートを使用する一種のバイナリ検索について考えていました(その行がに表示されないことを確認した直後に、3秒ごとに1行追加されます文字列ファイル)。しかし、その後、順次検索に使用したのと同じ時間を使用して、最初に行をRAMに移動する必要があったため、あきらめました。したがって、私は順次検索を選択しました。
この仮定は正しいですか?それとももっと良い方法はありますか?私は本当にそう願っています。