safearray_inp=variant_inp;
不是类型转换,而是完整的复制了整个读取出来的结果
safearray_inp.GetElement(&k,rxdata+k);
就是把位置k的数据复制到rxdata[k]去,已经知道在safearray里面保存的就是一堆byte
BYTE bt=*(char*)(rxdata+k);
简直就是多此一举,rxdata[k]就是个BYTE值,如果要转换也是转成char
如果全传的是字符,m_strRXData+=(char)rxdata[k];就OK,没必要还去Format