如何为 std::wifstream 编写随机访问迭代器?

问题描述

我的正常程序如下:

.
.
.
// I create a wifstream from file
std::wifstream wif(L"...");

// Generate a wstring based on file content
std::wstring m_wstr((istreambuf_iterator<wchar_t>(wif)),istreambuf_iterator<wchar_t>());

// Do stuff on the content using iteraror of wstring
boost::algorithm::boyer_moore<std::wstring::const_iterator>(m_wstr);
.
.
.

问题是第二步需要很多时间,因为文件很大。总文件内容加载到 wstring,这通常不是必需的,因为 boost::algorithm::boyer_moore 还是跳过了大部分内容

因此,跳过该步骤将大大提高速度,因此我需要一个随机访问迭代器,用于 std::wifstream,例如 std::wifstream::const_iterator。

如何简洁地实现?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)