MFC中的mscomm控件怎么接收缓冲区中的问题

2024-11-30 09:12:17
推荐回答(1个)
回答1:

if(m_commCtrl.GetCommEvent() == 2) //事件值为2表示接收缓冲区内有字符
{
CByteArray bytes;
COleSafeArray dataGet;
try
{
dataGet = m_commCtrl.GetInput(); //读缓冲区
long len = dataGet.GetOneDimSize(); //得到有效数据长度
if(len >= 6)//对数据大小判断,我这里示例是6,你也可以不要判断
{
dataGet.GetByteArray(bytes);//这样你可以把bytes当数组用了。如bytes[0]就是第一个字节
}
}
catch (CException* e)
{
e->ReportError();
e->Delete();
}
}

当获取了bytes以后,你想怎么操作都行。