1
私はopenMPを使ってディスクからたくさんの行を含む大きなファイルを読みたいと思っています。それを行う1つの方法は、seekg()
機能を使用するようです。しかし、頭痛の部分はseekg()
のみで、ファイルインデックスを特定のバイトに移動することができます。C++ファイルごとに各行を揃える方法は?
これは、各行のサイズがまったく同じ場合は問題ありません。しかし、私は、各行のサイズがまったく違うなら、それをどうやって行うのか分かりません。 あなたは私にいくつかのヒントを与えることができますか?
は〜私はディスクにバイトの代わりの文字列を保存するためのコードを修正していただきありがとうございます。そして、それは動作します! – uniqueliu
ファイルは常にバイトを保持しているので、文字列の代わりにバイトを保存することは何を意味するのかははっきりしません。しかし、1つの誤解を避けるために:私がファイルを複数の塊に分割すると言いましたが、それを物理的に小さなファイルに分割する必要はありません。すべてのテキストを1つのファイルに保存できますが、タスク内で均等に配置された位置を選択するだけです。 – Wyzard
もう1つのことを確認してください:タスクが1行終了することなくタスクのチャンクの終わりに達した場合は、テキストをまったく処理しないで停止する必要があります。つまり、3つ以上のチャンクにまたがる長い行があり、途中のチャンクを見ているタスクは、その行または次の行の先頭を見ることができないため、行う。 – Wyzard