Russian Qt Forum

Qt => Общие вопросы => Тема начата: CroCIV от Октябрь 05, 2009, 09:11



Название: Тема: QDataStream & QList<T>
Отправлено: CroCIV от Октябрь 05, 2009, 09:11
Безуспешно пытаюсь положить QList<T> в QDataStream, в результате операции происходит ничего данных по QList<T> в приемнике не оказывается. Вначале пробовал положить QList<QPair<QString,int>>, потом Пытался положить QList<QString> и QList<int>, результат один - ничего. Мб у кого есть рабочий пример? или мб кто-то встречался с подобным поведением?

З.Ы. Работает QVector<T>, перешел на него, но вопрос остается открытым, интересно же как это делается.


Название: Re: Тема: QDataStream & QList<T>
Отправлено: SimpleSunny от Октябрь 05, 2009, 09:21
Покажи код, как кладешь QList в QDataStream, ошибка, скорей всего, там.


Название: Re: Тема: QDataStream & QList<T>
Отправлено: Igors от Октябрь 05, 2009, 09:31
Код:
#include <qDebug>
#include <QFile>

int main(int argc, char *argv[])
{
(void) argc;
(void) argv;

QList <QString> lst;
lst.append("abc");
lst.append("def");

QFile file("TestList1.dat");
file.open(QFile::WriteOnly | QFile::Truncate);
QDataStream strm(&file);
strm << lst;
qDebug() << "file size " << file.size();
}
Работает без проблем, << определено для T
Файл создается, 24 байта


Название: Re: Тема: QDataStream & QList<T>
Отправлено: CroCIV от Октябрь 05, 2009, 09:51
спасибо  ;D , ошибку нашел, я совал списки по указателю  ::)