Есть имя файла, переведенное в QByteArray.
Есть содержимое файла в QByteArray.
Как добавить имя файла, затем содержимое в единый QByteArray, чтобы их можно было потом распарсить?
Создание:
QByteArray create(const QByteArray &fname, const QByteArray &fdata) {
QByteArray data;
QBuffer buffer(&data);
buffer.open(QIODevice::WriteOnly);
QDataStream stream(&buffer);
stream << fname << fdata;
return data;
}
Парсинг:
void parse(QByteArray &data, QByteArray &fname, QByteArray &fdata) {
QBuffer buffer(&data);
buffer.open(QIODevice::ReadOnly);
QDataStream stream(&buffer);
stream >> fname >> fdata;
}
QDataStream
внесёт в буфер два QByteArray
раздельно. Можно без проблем сохранять одинаковые типы Qt-контейнеров, поскольку каждый так или иначе сохраняет свой собственный размер автоматом при сериализации.
QByteArray fileContent;
...
fileContent.prepend(fileName);
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Ограничение времени: 1 с Ограничение реального времени: 5 с Ограничение памяти: 64М
То есть, если vector<vector<string> > con; , то conclear(); очистит всё элементы и их векторы со строками или же будет утечка памяти?
Изначально было необходимо написать функцию, которая производит целочисленное деление двух длинных чисел аналогично бинарному поискуСами...