我的程序是上位机程序,要将单片机串行口输入的数据转换成十进制数据输出。
int a;
CString str;
m_strEditReceiveMsg += ch;
a=str.Format("%d",m_strEditReceiveMsg);
最后一条语句出错了,提示类型转换不正确。函数str.Format完成了转换为十进制的功能,那怎样赋给显示框所对应的变量呢?因为要将数据输出在显示框中。谢谢各位指点了!
int a;
CString str;
m_strEditReceiveMsg += ch;
a=str.Format("%d",m_strEditReceiveMsg);
最后一条语句出错了,提示类型转换不正确。函数str.Format完成了转换为十进制的功能,那怎样赋给显示框所对应的变量呢?因为要将数据输出在显示框中。谢谢各位指点了!
============
Format并不能完成转换为十进制的功能啊,Format("%d",....)的功能是将一个整型数转成字符型放进str变量中去。
用 atoi(strEditReceiveMsg.GetBuffer());
试试看
然后getdlgitem(编辑框ID)->setwindowtext(str);
就可以了 想问一下 你要把什么类型的变量转换成int啊 不同的类型用不同的函数
说说你具体是要实现什么,是需要把什么类型转换成什么类型?CString转int?
还是只是把CString显示到编辑框里面?如果只是显示的话,用这句:GetDlgItem(Edit控件的ID号)->SetWindowText(m_strEditReceiveMsg);
就可以了,SetWindowText()这种方式比较原始。
int a;
CString str;
str.Format("%d", a);
m_strEditReceiveMsg += str;
UpdateData(FALSE);
这样就足够了,为什么非要重新给a复制呢。