0

我有一个 QHash 和一个单独的 QMap。我可以单独序列化它们。但我想在一个文件中对它们进行序列化:

QMap<int,QString> myMap;
QHash<QString,MyCalss> myHash;
// .. fill: both have 4 (key,value) pairs.
// write here
QDataStream out (&myFile);
out<<myMap;
out<<myHash;
// read written
QDataStream in (&myFile);
in>>myMap>>myHash;

最后一次读取(此处为 myHash)始终为空。当我切换排序

QDataStream out (&myFile);
out<<myHash;
out<<myMap;
// read written
QDataStream in (&myFile);
in>>myHash>>myMap;

所以这里 myMap 是空的。

如何同时序列化两者?

4

1 回答 1

1

有什么问题

QDataStream out (&myFile);
out<<myMap;
out<<myHash;
// read written
QDataStream in (&myFile);
in>>myMap;
in>>myHash;

将“in”序列化到 Hash 中并将 Hash 序列化到 Map 中不会产生预期的结果。

于 2015-11-09T10:38:15.490 回答