VC 高手来帮忙 串口数据处理问题

来源:百度知道 编辑:UC知道 时间:2024/09/27 15:11:30
接收到的数据形式如下:
;A10a0eA28aA304dfA42AB10b4a749B20122899B300ef0c9B4004c0d2B508c870B6003252B703cC109c4C20008C3112dC4032aC5122C60ceC70c5C80acD149D2134D322D44655

这里面的 A1,A2,A3。。。。。。直到D4代表不同的意思,它们后面的数据是我要截取出来的
例如: A1 后面是 0a0e。
我最后想要的就是如下格式:
A1: 0a0e
A2:。。。
依次类推

当然还要对整个字符串进行检查,以防出现乱码或者丢失数据的问题

各位高手谁能帮我传个源码上来(最好是自己写的,详细点,我比较菜)

如果最后选中,并且编译通过,追加50!
谢谢Sadusaga的回答,可是我贴上去的是正确数据,那如果数据不完整或者有乱码怎么识别和避免呢

至于我说的A1,A2等,这些无论什么时候都是不会变的,出现丢失和乱码的可能性在它后面的数据里面,比如如果一个数据为0a0e 结果出现了0a0| 或者其他样式是不是就没办法了?呵呵我新手,多包含

还有哦,循环是指哪个循环,能不能麻烦你给个稍微详细点的代码,多谢了

很简单!
200分我给你做那段代码.

很简单吧 :-)

简单的逻辑是找
CString csSource = "那个长串";

// 把下面的逻辑套在循环里
while(1)
{
int nPos = csSource.Find( "A1"/*此处循环时格式化为你要找的东西*/ );

if(-1 == nPos) continue;

CString csResult = csSource.Mid( nPos, 4 ); // 你找到的结果。

}

补充:
你设计是按照关键字(形如‘A1’等)实现的,那么你就查找这些关键字,不管是正确还是乱码都按此规则解析,如果是乱码那就找不到,说明传输有问题,去找传输逻辑中的错误。此处这么做是对的。

在你所说的这些条件下要分析对数据是不可能的,除非对每项数据的长度有说明。否则如A2的数据乱码变成了A3你如何分析A3?
通讯程序关键是定好规约!

你才是高手..