早教吧 育儿知识 作业答案 考试题库 百科 知识分享

谁能帮我解释一下这段程序的意思?最好每一句特别是开头那几句有什么作用?VARIANTvariantinp;COleSafeArraysafearrayinp;longk=0;intlen;BYTErxdata[2048];CStringstrtemp;if(mctrlComm.GetCommEvent()){case2:{variantinp=

题目详情
谁能帮我解释一下这段程序的意思?最好每一句特别是开头那几句有什么作用?
VARIANT variant_inp;
COleSafeArray safearray_inp;
long k=0;
int len;
BYTE rxdata[2048];
CString strtemp;
if(m_ctrlComm.GetCommEvent())
{
case 2:
{
variant_inp=m_ctrlComm.GetInput();
safearray_inp=variant_inp;
len=safearray_inp.GetOneDimSize();
for(k=0;k
▼优质解答
答案和解析
小弟只有10年VC++经验,帮你解读一下哦:满意的话麻烦给我分.
如下代码是为了实现:接收串口过来的数据!首先初始化一个泛型类型接受容器,接收串口接口发来的数据,然后显示在界面上的edit控件上!
VARIANT variant_inp; 用VARIANT 泛型变量类型 定义一个数组变量variant_inp; 泛型就是任何类型都可以放进去的意思.作为缓冲池使用很适合.
COleSafeArray safearray_inp; 用COleSafeArray用OLE安全数据容器类 定义一个对象名字是 safearray inp 因为VARIANT虽然可以放任何类型数据到这个数组中,但该类型没有丰富的处理成员函数,说白了他是结构体不是类,所以 需要做个转换,转为COleSafeArray类型的数组类即可.他具有非常丰富的成员函数.
那么,你会问为什么不直接让safearray_inp=m_ctrlComm.GetInput(); 读缓冲区,而要经过一个中间变量呢?
variant_inp=m_ctrlComm.GetInput(); 读缓冲区
safearray_inp=variant_inp; VARIANT转换成COleSafeArray型变量
VARIANT和COleSafeArray 是什么关系呢?
原因是:
这中间有调用不同的重载=运算符,m_ctrlComm.GetInput(); 的数据可以转化为variant_inp,有默认的转化方式,而safearray_inp=variant_inp则是另一个转化方式,如果直接转,可能数据不对.
VARIANT和COleSafeArray 一个是结构体,一个是类,各自的数据构造不一样.
long k=0; 初始化一个长整型变量 k=0;
int len; 定义长度len,整数型.
BYTE rxdata[2048]; 定义接受数据的数组,2k大小,2048字节.为BYTE类型,也即unsigned char类型.
CString strtemp; 定义一个CString类型的字符串strtemp;
if(m_ctrlComm.GetCommEvent()) 如果控制通信对象m_ctlComm有get的事件发生,
{
------------------------
这里应该加switch(ret) ,将上面getcommevent赋值给ret.
case 2:事件值为2表示接收缓冲区内有字符
{
variant_inp=m_ctrlComm.GetInput(); 控制通信器对象得到输入数据流.如果GetCommEvent返回2,说明有字符到达了,接收缓冲区内有字符
safearray_inp=variant_inp; 将variant inp转换为COleSafeArray 类型,付给safearry inp.因为COleSafeArray提供了丰富的函数处理.符合我们的需要.
len=safearray_inp.GetOneDimSize(); 获取输入安全数组的长度len
for(k=0;k
看了 谁能帮我解释一下这段程序的意...的网友还看了以下:

数据结构时间复杂度问题一个算法所需时间由以下递归算法表示,试求出该算法的时间复杂度的级别当n=1时  2020-05-01 …

谁能解释一下爱因斯坦的相对论 谁能解释一下爱因斯坦的相对论  2020-05-16 …

谁弱谁水解,谁强显谁性,谁弱显谁性,剩谁显谁性,这些都是什么呀?盐类水解这一块非常不懂,比如这道题  2020-05-17 …

谁看过《飞向太空2002》,?。。解释一下。。。看懂了一点点。。。谁来解释一下。。。  2020-05-17 …

谁能解释下log的加减乘除如何运算?给一些例子.谁能解释下log的加减乘除如何运算?给一些例子.  2020-06-05 …

谁能解释一下坐为山龙,向为水龙,山龙水龙各立一卦,并依法进行卦,依净阴净阳及三爻卦纳甲原理纳入二谁  2020-06-18 …

谁能解此签谁能解签今天抽了一个签,大师说是上上签,请问哪个懂呢:诗说,前程杳杳定无疑,石中藏玉有谁  2020-06-21 …

这条短信内容谁能给解释解释康平之车,收获几何?事先未雨,谁都无辙.此桩计谋,有人识破.出策之人,见  2020-06-29 …

碘和苯和四氯化碳和溴和溴水等常联系在一起的有机物之间的关系我的意思就是说他们之间密度的比较谁和谁互  2020-07-24 …

一个受力平衡的问题谁能讲解一下在一个匀强电场中一个绳拴着一个小球小球受力做圆周运动已知小球速度最大时  2020-11-01 …