@lukinov93
Веб разработчик, линуксоид

Почему при чтении данных через QTextStream появляются битые символы?

Здравствуйте. При чтении данных из QByteArray объектом QTextStream в результат попадает какой-то битый символ, при этом весь остальной текст нормальный.

Код моего метода:
void DataChannel::queryDo()
{
    QByteArray bytes;
    bytes.clear();                                          // очистка буфера
    QDataStream out(&bytes, QIODevice::WriteOnly);
    out << this -> httpHeader;                              // QString

    QTextStream txt(&bytes, QIODevice::ReadOnly);
    QString t = txt.readAll();

    cout << this -> httpHeader.toStdString() << endl;
    cout << "===========================" << endl << endl;
    cout << t.toStdString() << endl;                        // проверка записанного текста
    this -> sock -> write(bytes);
}


В стоке this -> httpHeader текст отображается нормально. В чем может быть проблема?
Вывод программы: i.imgur.com/dfDigOK.png
  • Вопрос задан
  • 377 просмотров
Решения вопроса 1
viai
@viai
Используйте для записи в QDataStream метод writeRawData().
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы