2011-08-07 25 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

を使用しています。その後、別々の文字列を作成します。各文字列に対して、目的の部分文字列を検索するだけです。 strstrまたはCString::Findまたはstring::findを使用できます。 別個のスレッドを作成する必要はありません。検索操作は非常に簡単でCPUの多くを消費しません。