MFC中,在函数中定义了一个CString strtemp变量用于缓存接收到的数据,Edit框定义变量m_display。
假设接收到10个字节的数据,我想把第1和第2字节的数据在Edit框中显示,请问将strtemp变量中第1、2字节的值赋给m_display变量的语句怎么写?...
假设接收到10个字节的数据,我想把第1和第2字节的数据在 Edit 框中显示,请问将strtemp变量中第1、2字节的值赋给m_display变量的语句怎么写?
展开
2个回答
展开全部
CString csTemp;
csTemp = strtemp.GetAt(1); //获得strtemp中前两个字符
SetDlgItemText(EDIT_ID,csTemp); //将获得的字符显示在ID为EDIT_ID的控件里
csTemp = strtemp.GetAt(1); //获得strtemp中前两个字符
SetDlgItemText(EDIT_ID,csTemp); //将获得的字符显示在ID为EDIT_ID的控件里
追问
谢谢!我还有些问题不太明白。假如我想直接去第4字节的变量,应该怎么表达啊?另外,我用的是UpdateData(False)语句使Edit框显示的,跟你 SetDlgItemText(EDIT_ID,csTemp); 这种方法有什么区别啊?
追答
Updatedata(TRUE) == 将控件的值赋值给成员变量,即从窗口编辑框中读入数据;
和GetDlgItemText沒區別
Updatedata(FALSE) == 将成员变量的值赋值给控件,将数据从窗口显示。
和SetDlgItemText沒區別
至于你說的取第四個字節的東西,建議你看看CString的一些方法,或者看看如何解析字符串。這些東西用的很多,而且只能自己多積累。
解決你的問題的方法,你可以把數據放在char數組里,直接取數組下標取值,然后轉換一下就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询