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());
是否有可能通過格式化第一個...獲得第二個方法的速度?或更好,但速度更快,格式不變?
我曾經考慮過在循環中的每個getline的第一個例子中不要繼續加載相同的字符串,但早期的嘗試似乎沒有幫助。
因爲你是用C++ Builder,您可以用'的FileOpen /搜索/ FILEREAD/FILEWRITE/FileClose'你可以將整個文本文件加載到內存中,而無需做任何更改... fstreams速度很慢並且也在處理控制代碼(這就是爲什麼內容發生更改)。如果你想快速訪問文本文件,你也可以使用'Memo1-> Lines-> LoadFromFile(「file.txt」)'其中Memo1是VCL TMemo對象(你需要將它添加到表單中)。它不需要可見。 – Spektre