C++ C++;将类似CSV的数据保存在更大的文件中

C++ C++;将类似CSV的数据保存在更大的文件中,c++,csv,storage,C++,Csv,Storage,我的应用程序需要几个文件。 我不想这样分发它们。 相反,我将它们编译成一个更大的文件,并在运行时从这个大文件中读取所需的部分 到目前为止,这一切都很好,因为我所有的数据都是简单的整数和浮点数 但是现在我有了一个类似CSV的文本文件,我也想把它存储在这个大文件中 我不知道有什么好方法可以做到这一点。 我在考虑在大文件中写入一行文本文件,并存储其长度,以便在需要CSV文本的情况下,在运行时“反编译”大文件时,知道需要读取多少字符 然而,这对我来说似乎不是很优雅 CSV文件每行中的数据如下所示: ws

我的应用程序需要几个文件。 我不想这样分发它们。 相反,我将它们编译成一个更大的文件,并在运行时从这个大文件中读取所需的部分

到目前为止,这一切都很好,因为我所有的数据都是简单的整数和浮点数

但是现在我有了一个类似CSV的文本文件,我也想把它存储在这个大文件中

我不知道有什么好方法可以做到这一点。 我在考虑在大文件中写入一行文本文件,并存储其长度,以便在需要CSV文本的情况下,在运行时“反编译”大文件时,知道需要读取多少字符

然而,这对我来说似乎不是很优雅

CSV文件每行中的数据如下所示:

wstring + tab + integer + tab + wstring + tab + integer
或者,我考虑将整个CSV文件保存在大文件中作为字符串,但这似乎更不优雅

有人对如何做好这件事有什么建议吗


谢谢你的帮助

在大文件中插入文本csv文件内容是非常无效的。后来最大的问题是,从大文件读取数据会随着文件变大而变慢


因此,我建议您不要将文件内容加载到大文件中,而是将csv文件保存到文件夹中,然后将路径保存到大文件中,即“大文件”,您是将其创建为二进制文件还是文本文件?您可能还需要考虑文件的格式,例如添加“节”(也可以在二进制文件中完成),其中每个节包含单一类型的数据。添加开始和结束标记,并在标记之间存储csv文件。这会有帮助吗?@JoachimPileborg每个数据类型的部分想法太棒了!谢谢大家!@杰克:是的,那会有帮助。但是我如何将CSV恢复到我的应用程序中呢?我应该从大文件中将CSV读入字符串吗?我不想将其反序列化为文件。@tmighty:你读过有关存档的内容吗?例如,在Unix上,您描述的是tar。有一些库可以在tarball中写入和读取,但我需要分发这个大文件。我无法分发路径:-)在这种情况下,您可以对大文件使用XML格式。每一条信息都将在。。。。标签。有很多XML处理库(例如:XmlDocument for.NET),允许轻松编辑XML数据文件,此外,它还保持了保存不同类型数据的灵活性。