struct dec_struct{ QByteArray n1;//Размер будет 4 байта QByteArray n2;//Размер будет 6 байтов int x; int y;}my_str;
QList<dec_struct> lst;
my_str.n1 = "1234";my_str.n2 = "123456";my_str.x = 3;my_str.y = 4;
lst.append(my_str);
QFile file("test.dat");file.open(QIODevice::WriteOnly|QIODevice::Append);QDataStream stream(&file);for (int i = 0;i<lst.count();i++) stream << lst[i];
friend QDataStream &operator<<(QDataStream & ds, dec_struct &calData) { ds << calData.n1 << calData.n2 << calData.x << calData.y; return ds; } friend QDataStream &operator>>(QDataStream & ds, dec_struct &calData) { ds >> calData.n1 >> calData.n2 >> calData.x >> calData.y; return ds; }
struct dec_struct{ char n1[4];//Размер будет 4 байта char n2[6];//Размер будет 6 байтов int x; int y;}my_str;
struct my_struct { char *name; int age; char *fam; int nomer; }m_str;
m_str.age = 2; m_str.nomer = 4; m_str.name = "alex"; m_str.fam = "zub"; lst.append(m_str);
QFile file("test.dat"); file.open(QIODevice::WriteOnly|QIODevice::Append); QDataStream stream(&file); stream << lst[0];
friend QDataStream &operator<<(QDataStream & ds, const my_struct &calData) { ds.writeRawData((char*)calData.fam, 8); ds.writeRawData((char*)calData.name,8); ds << calData.age << calData.nomer; return ds; } friend QDataStream &operator>>(QDataStream & ds, my_struct &calData) { ds.readRawData((char*)calData.fam, 8); ds.readRawData((char*)calData.name,8); ds >> calData.age >> calData.nomer; return ds; }
QFile file("test.dat"); file.open(QIODevice::ReadOnly); QDataStream in(&file); in >> m_str; qDebug() << m_str.name << m_str.fam << m_str.age << m_str.nomer;
struct my_struct { char name[8]; char fam[8]; int nomer; int age; }m_str;
C++ (Qt)char name[9];char fam[9];
QString str1 = "Test";QByteArray ba = str1.toLatin1();const char *c_str2 = ba.data();