请教几个编程问题
以下摘自某VC++串口通信的程序:VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[2048],bt;//设置BYTE数组
CString stremp,data;
float i=0;
variant_inp=m_ctrlComm.GetIput();//读缓冲区
safearray_inp=variant_inp;//VARIANT型变量转换为COleSafeArray型变量
len=safearray_inp.GetOneDimSize();//得到有效数组长度
for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);//转化为BYTE型数组
for(k=0;k<len;k++)
{
bt=*(char*)(rxdata+k);//字符型
strtemp.Format("%2X",bt);//将字符送入临时变量strtemp存放
data+=strtemp;//将字符送入临时变量data存放
m_dy1=data;
m_dy=(float)(bt/10.0);
m_data[num]=m_dy;
num=num+1;
ondraw();//在下文,此处略
}
...
...
以上红色的的部分都不太理解:
1.safearray_inp.GetOneDimSize() //?????????????
2.safearray_inp.GetElement(&k,rxdata+k) //?????????????
3.bt=*(char*)(rxdata+k) //?????????????
4.strtemp.Format("%2X",bt) //?????????????
5.data+=strtemp //?????????????
6.m_dy=(float)(bt/10.0) //?????????????