【发布时间】:2017-08-07 16:35:47
【问题描述】:
我正在开发一个应用程序,我有几条数据希望能够保存到同一个文件并从同一个文件中打开。第一个是几行本质上是人类可读的,用于存储有关某些属性的简单数据。数据存储在支持operator<< 和operator>> 的AttributeList 对象中。其余的是我已加载到内存中的 .png 图像。
如何将所有这些数据保存到一个文件中,以便我可以轻松地将其读回内存?有没有办法将图像数据存储在内存中让这更容易?
【问题讨论】:
-
为什么要将图像与属性放在同一个文件中?这样做似乎是糟糕的设计。是有原因还是为了简单?
-
@EastonBornmeier 我希望用户能够打开包含所有数据的单个文件。我希望用户可以简单地相互共享文件,而不必担心将多个文件放在一个项目中。
-
为什么不使用 zip 或 tar 文件?
-
您可以更改扩展名。获取应用程序以解压缩它。 Word 文档是 xml 压缩文件
-
有很多“秘密”的 ZIP 文件格式:较新的 Microsoft Office 文档(扩展名末尾带有
x的文件),主要竞争办公套件的格式LibreOffice 或 OpenOffice、EPUB 文件(一种流行的电子书格式),甚至是 Java 的 JAR 文件。用户不需要关心差异,除非您希望他们能够在文本编辑器中打开文件并自己编辑人类可读的部分。
标签: c++ file-io binaryfiles