如何在单个文件中序列化QHash和QMap



我有一个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是空的。

如何同时序列化两者

出了什么问题

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

将"in"序列化到哈希中,并将哈希序列化到映射中,将不会得到所需的结果。

相关内容

  • 没有找到相关文章

最新更新