gpt4 book ai didi

c++ - 将数据写入文件的 'best' 方法是什么,稍后再次读入。

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:00:13 26 4
gpt4 key购买 nike

将数据存储到网络文件的最佳方式是什么,稍后将以编程方式再次读入该文件。该程序的目标平台是 Linux (Fedora),但它需要将文件写出到 Windows (XP) 机器上

这需要在 C++ 中,会有大量的写入/读取事件,因此需要高效,并且数据需要以易于读回的方式写出。

可能不会读回整个文件,我需要在文件中搜索特定的数据 block 并将其读回。

简单的二进制流编写器会做吗?我应该如何存储数据 - XML?

还有什么我需要担心的吗?


更新:为了澄清,这里有一些对peterchen观点的回答

Please clarify:

* do you only append blocks, or do you also need to remove / update them?

我只需要追加到文件的末尾,但需要搜索它并从其中的任何点检索

*** are all blocks of the same size?**

不,数据的大小会有所不同——有些是自由文本评论(比如这里的帖子),有些是特定对象的数据(参数集)

*** is it necessary to be a single file?**

没有,但很可取

*** by which criteria do you need to locate blocks?**

按数据类型和时间戳。例如,如果我定期写出一组特定的参数,在其他数据(如自由文本)中,我想在某个日期/时间找到这些参数的值 - 所以我需要搜索我的时间写出最接近那个日期的那些参数,然后读回它们。

*** must the data be readable for other applications?**

没有。

*** do you need concurrent access?**

是的,我可能边读边写。但一次只能写一个。

*** Amount of data (per block / total) - kilo, mega, giga, tera?**

每次写入的数据量会很低……从几个字节到几百字节不等 - 总数应该不会超过几百千字节或五兆字节。 (目前还不确定)

**> 如果你需要所有这些,自己动手将是一个挑战,我肯定会

recommend to use a database. If you need less than that, please specify so we can recommend.**

数据库会使系统过于复杂,所以不幸的是这不是一个选择。

最佳答案

你的问题太笼统了。我会首先定义我的需求,然后是文件的记录结构,然后使用文本表示来保存它。看看Eric Stone Raymond's data metaformat , 在 JSON ,也许 CSVXML . peterchen 的所有观点似乎都是相关的。

关于c++ - 将数据写入文件的 'best' 方法是什么,稍后再次读入。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/239876/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com