阅读:1209回复:2
版主请留步,我确实不知道怎么解决这个问题。
版主:
你好!先说声对不起,我是VC++的初学者,先前没有说清楚我的问题。我说的CString类的变量是Dialong窗体里的一个文本对话框,我把该文本框的变量定义成字符型,但我要把该文本框输入的内容按十六进制发送出去,我不知到应该怎么发送到串行口。 如: 该文本框的变量名为str 当文本框输入\"11223344aa\"时,即str=\"11223344aa\"; 我应该通过什么方式把str的数据按十六进制11、22、33、44、aa 的方式发送出去 |
|
沙发#
发布于:2002-06-12 09:07
没有什么对不起的,有问题就问吧!
下面这些代码你试一下,我并没有调试: CString ctrNumber=\"11223344aa\"; char pNum[16]; char cCurrentNum=0; memset(pNum,0x00,16); for(int i=0;i<ctrNumber.GetLength();i++) { if(ctrNumber<\'9\' && ctrNumber>\'0\') cCurrentNum=ctrNumber-\'0\'; else(ctrNumber<\'f\' &&ctrNumber>\'a\') cCurrentNum=ctrNumber-\'a\'+0x0a; else(ctrNumber<\'F\' &&ctrNumber>\'A\') cCurrentNum=ctrNumber-\'A\'+0x0a; else return FALSE; pNum[i/2] = pNum[i/2]<<4 + cCurrentNum; } |
|
板凳#
发布于:2002-06-12 11:50
有函数atoi,可以将char到int的。
可以试先将你的CString分开,成“11”,“22”。。。 然后用atoi。 或者: GetDlgItemInt(),返回int了。 |
|