@sddvxd

Как получить байты экземпляра класса?

Здравствуйте!

Понадобилось записывать в поток байт бинарное значение экземпляра класса. Хотел реализовать подобно перегруженному << у QDataStream:

QByteArray arrBlock;
QDataStream binaryStream(&arrBlock, QIODevice::WriteOnly);
binaryStream << QPixmap();


Подскажите пожалуйста, как мне реализовать это со своим классом (получить бинарную информацию экземпляра)
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 1
IGHOR
@IGHOR Куратор тега Qt
Qt/C++ DEV/CTO
Вот ответ на вопрос, но он к QPixmap не применяется, там следует использовать QPixmap::save..
#pragma pack(push, 1)
struct MyStruct
{
qint64 varA;
qint64 varB;
};
#pragma pack(pop)

MyStruct myStruct;
myStruct.varA = 234;
myStruct.varB = 4534;

QByteArray structByteArray(reinterpret_cast<const char*>(&myStruct), sizeof(MyStruct));
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы