0
私はこれをしばらく解決しようとしています。テキストファイルの読み込みが失敗してフォーマットが遅くなりましたが遅くなりました
テキストファイルを読む。ファイルをロードするための時間を、このコードを使用して
ファイルをロードするための書式はgetlineのに置き換えます。このコードは...しかし、時間を使用すると、あまりにも長いです...
std::string line = "";
std::string file = "";
std::ifstream filepath(path);
if (filepath.is_open())
{
while (std::getline (filepath,line))
{
file = file + line + "\r\n";
}
filepath.close();
}
は約10倍ですフォーマットは失われますが、フォーマットは失われます:
std::ifstream in(path);
std::stringstream stream;
stream << in.rdbuf();
std::string file(stream.str());
最初のフォーマットを使用して2番目の方法の速度を得ることは可能ですか?それとも速度は上がり、フォーマットも変わらないでしょうか?
ループ内の各ゲットラインで最初の例で同じ文字列をロードしないようにすることを検討しましたが、初期の試みは役に立たなかったようです。
あなたは 'のFileOpen /シーク/ FileRead関数/ FileWrite関数/ FileClose'あなたを使用することができますC++ Builderを使用しているとして、テキストファイル全体を変更せずにメモリに読み込むことができます... fstreamは遅く、制御コードも処理しています(コンテンツが変更された理由です)。テキストファイルにすばやくアクセスしたい場合は、Memo1がVCL TMemoオブジェクトの場合は(フォームに追加する必要がある)、 'Memo1-> Lines-> LoadFromFile(" file.txt ")'を使用することもできます。それは目に見える必要はありません。 – Spektre