我有一个可以访问共享内存的阅读过程。另一个(写入)进程使用
将数据写入该共享内存CopyMemory((PVOID)pBuf, data.data(), data.size());
数据为std::string
且pBuf
为PVOID
,其大小为size
,由MapViewOfFile()
创建。 data
包含通过写入过程从磁盘加载的文件。
使用data
从共享内存中读取时,有什么方法可以将std::string
作为MapViewOfFile
吗?我尝试了一些我在SO上找到的方法(比如简单地将阅读过程中生成的PVOID
转换为char*
),但无论我尝试哪种方法,结果size()
总是如此等于4,而初始数据要大得多。