Визуальный синтаксический анализ C ++ - PullRequest
0 голосов
/ 07 августа 2011

Я написал свою собственную терминальную программу, которая читает данные с последовательного порта для чтения данных с микроконтроллера.Данные представлены следующим образом:

0C82949> 0D23949> 0A75249> и т.д ...

Это ASCII.Следует отметить, что все элементы начинаются с> _0xx, то есть заголовка, где xx - это некоторые символы, такие как> 0C8 или> 0D2 и т. Д. ... это говорит мне, что представляют собой остальные данные, например, если> 0C8 - скоростьавтомобиля тогда 2949 держит фактическую скорость.Микроконтроллер записывает данные очень быстро, поэтому в одно время я могу видеть 40 элементов одновременно.Я хочу быстро найти это для записи "> 0C8" и только распечатать "> 0C82949" из связки:

пример, если я только хочу 0D2:

Чтение из последовательного порта:> 0C82949> 0D23949> 0A75249> Вывод: 0D23949

Кто-нибудь знает, как это сделать ??Я знаю, что, поскольку это так быстро, мне придется создавать потоки, которые я могу сделать, я просто не уверен, как подойти к этой проблеме для анализа.Любые идеи будут с благодарностью.

Я использую Visual C ++

1 Ответ

0 голосов
/ 07 августа 2011

Вы можете анализировать данные и делить их на каждый символ >. Затем создайте отдельные строки. Для каждой строки просто найдите нужную подстроку. Вы можете использовать strstr или CString::Find или string::find. Нет необходимости создавать отдельный поток - операция поиска довольно тривиальна и не займет много ресурсов процессора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...