Russian Qt Forum

Qt => Вопросы новичков => Тема начата: AntonX от Январь 26, 2015, 13:22



Название: QByteArray обработка элементов в цикле
Отправлено: AntonX от Январь 26, 2015, 13:22
Прошу помощи!  Есть полученный с порта массив QByteArray. Его нужно прогнать по циклу и проверить в соответствие с протоколом обмена. Например если p0==0x7E, p1==0x27, то p8= р2+p7....


Название: Re: QByteArray обработка элементов в цикле
Отправлено: gil9red от Январь 26, 2015, 13:39
Смотрите в доке, там есть пример прогона в цикле: http://qt-project.org/doc/qt-4.8/qbytearray.html#details


Название: Re: QByteArray обработка элементов в цикле
Отправлено: AntonX от Январь 26, 2015, 13:45
Смотрел. Только не вышло ничего.... что нашел с виду подходещее у меня работало лишь с константным индексом...

Т.е. могу обратиться например ch=р[0],
а ch=р ругается.....


Название: Re: QByteArray обработка элементов в цикле
Отправлено: AntonX от Январь 26, 2015, 13:51
Т.е. могу обратиться например ch=р0,
а ch=рi ругается.....


Название: Re: QByteArray обработка элементов в цикле
Отправлено: gil9red от Январь 26, 2015, 14:38
Скиньте код, так сложно понять как у вас там работает и где именно бага :)


Название: Re: QByteArray обработка элементов в цикле
Отправлено: kambala от Январь 26, 2015, 15:18
вместо оператора взятия индекса можно использовать метод at():
Код
C++ (Qt)
char c = bytearray.at(i); // bytearray[i]


Название: Re: QByteArray обработка элементов в цикле
Отправлено: AntonX от Январь 26, 2015, 19:25
☺всем спасибо! Разобрался!