关于字符串匹配的问题,急!
我定义了一个CString类的变量strReceive,接收到的数据是 78 00 12,我只想提取前两位 78 ,试问我该怎么写?这个东西很是重要,
Ascii码和16进制的关系,比如说:回车符的Ascii码是什么,它的16进制又是什么东西,用串口来发送时,两个的格式应该是什么?
//{{AFX_DATA_INIT(CCommWizardDlg)
m_strReceive = _T("");
//}}AFX_DATA_INIT
是什么意思?
[解决办法]
google下不就有ascii的码表了。
[解决办法]
m_strReceive = _T("");一般情况下可视作m_strReceive="";就是看你的宏开关吧
[解决办法]
strReceive.left(2);
16进制是方便人类观看二进制的一种字面形式. 比如a的ascii 十进制是96(没记错的话),16进制是60.他们对应的二进制都是一样.
[解决办法]
对电脑而言只有二进制字节;对人脑才有变量、字符、ASCII码……。
[解决办法]
//{{AFX_DATA_INIT(CCommWizardDlg)
m_strReceive = _T("");
//}}AFX_DATA_INIT
是什么意思?
首先去掉注释
m_strReceive = _T("");
这个是MFC生成的代码,给 m_strReceive 初始化, _T 是宏 以处理 unnicode 字符串问题
接收到的数据是 78 00 12,我只想提取前两位 78
这个嘛 m_strReceive.Mid(0, 2); 能满足你的要求不