タグ付けされた質問 「fstream」

12
mmap()と読み取りブロック
サイズが100GB以上になる可能性のあるファイルを処理するプログラムに取り組んでいます。ファイルには、可変長レコードのセットが含まれています。私は最初の実装を稼働させており、特に入力ファイルが何度もスキャンされるので、特にI / Oをより効率的に行うことで、パフォーマンスの改善に向けています。 mmap()C ++のfstreamライブラリを介したブロックの使用と読み取りの経験則はありますか?私がしたいことは、ディスクから大きなブロックをバッファーに読み込み、バッファーから完全なレコードを処理して、さらに読み込むことです。 'dブロックはページサイズの境界(私の理解)にある必要があり、レコードがページ境界を越えて潜在的に好きになるmmap()可能性があるため、コードは非常に複雑になるmmap可能性があります。ではfstream、私たちが読んブロックに限定していないことからS、私はページ上の嘘は、境界をサイズのことを、レコードの開始をシークして、もう一度読み始めることができます。 最初に完全な実装を実際に作成せずに、これらの2つのオプションをどのように決定できますか?経験則(例:mmap()2倍高速)または簡単なテスト?
185 c++  file-io  fstream  mmap 

1
C ++:変数 'std :: ifstream ifs'に初期化子がありますが、型が不完全です
これがかなりうるさい場合は申し訳ありませんが、私はC ++にかなり慣れていません。私はファイルを開いてそれを使ってそれを読み込もうとしていますifstream: vector<string> load_f(string file) { vector<string> text; ifstream ifs(file); string buffer, str_line; int brackets = 0; str_line = ""; while ( getline(ifs, buffer) ) { buffer = Trim( buffer ); size_t s = buffer.find_first_of("()"); if (s == string::npos) str_line += "" + buffer; else { while ( s != …
139 c++  fstream  return-type 

7
POSIXファイル記述子からc ++ fstreamを構築する方法は?
私は基本的にC ++バージョンのfdopen()を探しています。私はこれについて少し調査しましたが、それは簡単なはずのように見えますが、非常に複雑であることがわかりました。私はこの信念に何か欠けていますか(つまり、本当に簡単です)?そうでない場合、これを処理するための良いライブラリがどこかにありますか? 編集:サンプルソリューションを別の回答に移動しました。

7
行ごとまたはテキストファイル全体を一度に読み取る方法は?
私はファイルを紹介するチュートリアルにいます(ファイルからの読み取りとファイルへの書き込みの方法) まず第一に、これは宿題ではありません。これは私が求めている一般的な助けにすぎません。 一度に1単語ずつ読む方法は知っていますが、一度に1行ずつ読む方法や、テキストファイル全体を読む方法がわかりません。 ファイルに1000語が含まれている場合はどうなりますか?各単語を読むことは実用的ではありません。 (読み取り)という名前のテキストファイルには、次のものが含まれています。 私はゲームをするのが大好きです読書が大好きです私は2冊の本を持っています これは私がこれまでに達成したことです: #include <iostream> #include <fstream> using namespace std; int main (){ ifstream inFile; inFile.open("Read.txt"); inFile >> 各行または各単語を別々に読み取る代わりに、ファイル全体を一度に読み取る方法はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.