У меня есть процесс чтения с доступом к общей памяти. Другой (записывающий) процесс записал данные в эту общую память, используя
CopyMemory((PVOID)pBuf, data.data(), data.size());
с данными std::string
и pBuf
PVOID
размером size
, созданными MapViewOfFile()
. data
содержит файл, загруженный с диска в процессе записи.
Есть ли способ получить data
как std::string
при чтении из общей памяти с помощью MapViewOfFile
? Я попробовал некоторые подходы, которые я нашел здесь, на SO (например, просто приведение результирующего PVOID
в процессе чтения к char*
), но при любом подходе результирующий size()
всегда равен 4, тогда как исходный данные намного больше.