这是一段用来跟一个硬件设备通信的部分代码,其中有一些不太明白,请帮忙看下char szFrameID[9];
char szData[25];
CString m_EditSendFrmID //文本框对应的变量,对应发送数据帧ID
CString m_EditSendData; //对应发送的数据
int CP9820TestDlg::strtodata(unsigned char *str, unsigned char *data,int len,int flag)//str:要转换的字符串;data:存储转换过来的数据串;len:数据长度;此函数的功能为将字符串转换为数据串。
memcpy(&szFrameID[8-m_EditSendFrmID.GetLength()],(LPCTSTR)m_EditSendFrmID,m_EditSendFrmID.GetLength()); //szFrameID[8-m_EditSendFrmID.GetLength()]?? 为什么用8减
strtodata((unsigned char*)szFrameID,FrameID,4,0); datalen=(m_EditSendData.GetLength()+1)/3; //???(+1)/3干什么
strcpy(szData,(LPCSTR)m_EditSendData);
strtodata((unsigned char*)szData,Data,datalen,1);
char szData[25];
CString m_EditSendFrmID //文本框对应的变量,对应发送数据帧ID
CString m_EditSendData; //对应发送的数据
int CP9820TestDlg::strtodata(unsigned char *str, unsigned char *data,int len,int flag)//str:要转换的字符串;data:存储转换过来的数据串;len:数据长度;此函数的功能为将字符串转换为数据串。
memcpy(&szFrameID[8-m_EditSendFrmID.GetLength()],(LPCTSTR)m_EditSendFrmID,m_EditSendFrmID.GetLength()); //szFrameID[8-m_EditSendFrmID.GetLength()]?? 为什么用8减
strtodata((unsigned char*)szFrameID,FrameID,4,0); datalen=(m_EditSendData.GetLength()+1)/3; //???(+1)/3干什么
strcpy(szData,(LPCSTR)m_EditSendData);
strtodata((unsigned char*)szData,Data,datalen,1);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货