我在const char*指针指向的缓冲区中有一些数据.数据只是一个ASCII字符串.我知道它的大小.我希望能够以与从流中读取数据相同的方式读取它.我正在寻找一个允许我编写如下代码的解决方案:
// for example, data points to a string "42 3.14 blah"
MemoryStreamWrapper in(data, data_size);
int x;
float y;
std::string w;
in >> x >> y >> w;
Run Code Online (Sandbox Code Playgroud)
重要条件:不得以任何方式复制或更改数据(否则我只使用字符串流.据我所知,不能在不复制数据的情况下从const char指针创建字符串流. )
我试图将文件映射到内存然后逐行解析 - istream我应该使用什么?
istream是否与在Windows上将文件映射到内存相同?我在寻找将文件映射到内存的完整示例时遇到了困难.
我见过人们链接来自MSDN的内存映射文章,但是如果有人可以推荐一个小的(~15行?)示例我会非常感激.
我一定在寻找错误的东西,但是当在Google上搜索"C++内存映射示例"时,我找不到包含迭代的示例.
这些是最接近的结果(只是让人们意识到我已经看过):