2011-08-07 117 views
0

我写了自己的终端程序,它从串口读取数据以从微控制器读取数据。数据现分述如下:Visual C++字符串解析

0C82949> 0D23949> 0A75249>等...

这些都是ASCII。有些事情要注意的是,所有元素都以> _0xx开头,这是xx是一些字符的标头,例如> 0C8或> 0D2等......这告诉我其余的数据是什么,例如> 0C8是速度的车然后2949持有实际速度。微控制器写入数据非常快,所以我一次可以看到40个元素。我想快速搜索此为“> 0C8”条目,只打印出“> 0C82949”出了一堆:

如果我只想0D2的例子:

读取串口:> 0C82949> 0D23949> 0A75249> 输出:0D23949

有谁知道如何做到这一点?我知道,因为它是如此之快,我将不得不创建线程,我可以做的,我只是不知道如何解决这个问题的解析。任何想法将不胜感激。

我使用Visual C++

回答

0

您可以分析数据,并把它在每个>字符。然后创建单独的字符串对于每个字符串,只需搜索所需的子字符串。您可以使用strstrCString::Findstring::find。 没有必要创建单独的线程 - 搜索操作相当简单,不会占用太多的CPU。