blob: a4f73526c52b1a0eeb4a48ca36c0e7fc6b7e3f49 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include <QtCore>
#include <QByteArray>
#include <QDataStream>
//! [0]
struct Movie
{
int id;
QString title;
QDate releaseDate;
};
//! [0]
//! [1]
QDataStream &operator<<(QDataStream &out, const Movie &movie)
{
out << (quint32)movie.id << movie.title
<< movie.releaseDate;
return out;
}
//! [1]
//! [2]
QDataStream &operator>>(QDataStream &in, Movie &movie)
{
quint32 id;
QDate date;
in >> id >> movie.title >> date;
movie.id = (int)id;
movie.releaseDate = date;
return in;
}
//! [2]
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
Movie m;
m.id = 0001;
m.title = "Happy Meal";
m.releaseDate = QDate(1995, 5, 17);
QByteArray byteArray;
QDataStream stream(&byteArray, QIODevice::WriteOnly);
stream << m;
// display
qDebug() << m.id << m.releaseDate << m.title;
Movie m2;
int id2;
QString title2;
QDate date2;
QDataStream stream2(byteArray);
stream2 >> id2 >> title2 >> date2;
m2.id = id2;
m2.title = title2;
m2.releaseDate = date2;
qDebug() << id2 << " " << date2 << " " << title2;
return 0;
}
|