memcpy()将多个buffer顺序存至一块内存遇到的问题

C_Gui C_Gui 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
目前想法中的代码如下,线程中顺序采入大小为lDatalen的pBuffer。
将20次的数据按顺序存入m_pPackBuffer后,PostMessage一次,再从头循环。
现在的问题是Post过去的实际效果只有第一包的位置有数据,怀疑是存储指针的处理上出了问题,C++新手求指点……
			if (nPacketCount < 20)
{
memcpy(m_pPackBuffer, pBuffer, lDataLen);
*m_pPackBuffer = *m_pPackBuffer + lDataLen;
nPacketCount ++ ;//分包计数
}

if (nPacketCount = 20)
{
if (m_hParentHwnd)
{
::PostMessage(m_hParentHwnd, WM_SHOW_IMG, (WPARAM)m_lDataLen, (LPARAM)m_pPackBuffer);
}
memset(m_pPackBuffer, 0, 10240);
*m_pPackBuffer = *m_pPackBuffer - m_lDataLen;
memcpy(m_pPackBuffer, pBuffer, lDataLen);
nPacketCount = 1;
}
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
C_Gui
C语言 70,039 成员 243,237 内容