VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048];
CString strtemp;
if (m_MSComm.GetCommEvent()==2)
{
variant_inp=m_MSComm.GetInput();
safearray_inp=variant_inp;
len=safearray_inp.GetOneDimSize();
for (k=0;k<len;k++)
{
safearray_inp.GetElement(&k,rxdata+k);
}
for (k=0;k<len;k++)
{
BYTE bt=*(char*)(rxdata+k);
strtemp.Format("%c",bt);
m_edit2+=strtemp;
}
}
UpdateData(FALSE);
代码如上,就是抄袭别人的,但是我用串口调试助手返回的数据是正常的,此代码就是错误。
但是科学技术法表示的是正确的,比如12.3e6这样的是正确的,但是-120.9-110.1之类的就是错误,而且每次错误显示的都是1000e30