Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Qt: проблема с функцией split


Автор: Lockdog88 27.4.2017, 12:48
Добрый день, возникла странная проблема:
Читаю из COM порта строку вида: "160,1459,255,166,176,-56,10\r\n"
Код

QByteArray data = serial->readAll();
QList<QByteArray> doubles = data.split(',');
ui->consoleText->insertPlainText(data);
QString d_size = QString::number(doubles.size());
ui->ackByteEdit->setText(d_size);

После вызова функции ui->consoleText->insertPlainText(data); я вижу в поле всю строку, которую принял из порта в том же виде в котором отправил
После этого: QList<QByteArray> doubles = data.split(','); должен получится список из 7 элементов, которые были разделены запятой,
но когда я вызвал функцию, которая показывает размерность списка, то получается, что он может состоять из 2х, 4х или 5ти элементов при каждом новом чтении без какой-либо закономерности.
При этом, если я читаю значение элемента doubles[0], то там может находиться любой кусок из входной строки
В чём может быть причина?

Автор: Lockdog88 27.4.2017, 18:06
Решено, проблема была с чтением из порта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)