У меня есть QByteArray
для хранения данных, полученных от GPS, который часть двоичная и часть ASCII. Я хочу, чтобы предложения по отладке знали, что было получено, поэтому я пишу qDebug
следующим образом:
//QByteArray buffer;
//...
qDebug() << "GNSS msg (" << buffer.size() << "): " << buffer;
И я получаю сообщения, подобные этому, на консоли:
GNSS msg ( 1774 ): "ygnnsdgk...(many data)..PR085hlHJGOLH
(more data into a new line, which is OK because it is a new GNSS sentence and
probably has a \n at the end of each one) blablabla...
Но вдруг я получаю новую печать итерация. Данные еще не стерты, они добавлены. Таким образом, размер нового сообщения, например, 3204, очевидно, больше, чем предыдущая печать. Но печатает точно так же (но с новым размером 3204 в скобках). Новые данные не печатаются, точно так же, как и в предыдущем сообщении:
GNSS msg ( 3204 ): "ygnnsdgk...(many data)..PR085hlHJGOLH
(more data into a new line, which is OK because it is a new GNSS sentence and
probably has a \n at the end of each one) blablabla...
Думаю, qDebug
прекращает печать, потому что у него есть предел, или потому что он достигает завершающего символа или что-то в этом роде, но я' только предполагаю.
Любая помощь или объяснение такого поведения?