C++ 无法使用指针写入MMF

C++ 无法使用指针写入MMF,c++,pointers,memory-management,shared-memory,memory-mapped-files,C++,Pointers,Memory Management,Shared Memory,Memory Mapped Files,我想将char*buf[]写入共享内存 我得到了几个指向几个地图的指针-char*m_pP[MAX],地图打开了 m_oMMF[channel] = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, wstring); m_pP[channel] = (char*) MapViewOfFile(m_oMMF[channel], FILE_MAP_ALL_ACCESS, 0, 0, size); 地图的大小足够大了,我得到了int offset我想用这个m_

我想将
char*buf[]
写入共享内存

我得到了几个指向几个地图的指针-
char*m_pP[MAX]
,地图打开了

m_oMMF[channel] = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, wstring);
m_pP[channel] = (char*) MapViewOfFile(m_oMMF[channel], FILE_MAP_ALL_ACCESS, 0, 0, size);
地图的大小足够大了,我得到了
int offset
我想用这个
m_p[]
指针在共享内存中写的地方,但是我正在努力学习这个指针的语法

我在C++方面经验不多。 有人能帮我吗


谢谢

我不知道我是否明白

但我假设,您有指向映射内存的字符指针,并且您正试图在某个偏移量之后写入数据

char * ptr_to_memory = m_pP[channel];

//buf is array of character pointer, so you need to know the "index" as well as "size" of the data you need to write.

char * data_to_write = buf[index];

memcpy( ptr_to_memory + offset, data_to_write, size );
记住要做一些完整性检查,检查(ptr+offset)是否在映射区域内