在使用MFC进行多进程通信是,成功建立了共享内存和事件,通过memcpy_s函数去读写共享内存,使用窗口中的控件获得的数据类型是CString类型的,使用memcpy_s(p->mtr, MTORDATA_SIZE, sendstr, sendstr.getlength());或者指定CString的长度memcpy_s(p->mtr, MTORDATA_SIZE, sendstr, 10);每次只能写入共享内存1个字符,对程序进行了修改
char str[10];
int length = 10;
int i;
for ( i = 0; i < length-1; i++)
{
str[i] = sendstr.GetAt(i);
}
str[i] = ‘\0’;
memcpy_s(p->mtr, MTORDATA_SIZE , str, sizeof(str));
将CString类型转化为char数组,成功写入
同理,在子进程中读取共享内存时,同样定义了一个同样大小的char型数组进行读取
基于MFC的多进程通信
最新推荐文章于 2023-07-06 14:59:10 发布