首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最好的方法是创建一个程序,将信息存储到文件中,编辑该文件中的信息,并添加新的信息。

最好的方法是创建一个程序,将信息存储到文件中,编辑该文件中的信息,并添加新的信息。
EN

Stack Overflow用户
提问于 2009-04-01 10:13:46
回答 5查看 443关注 0票数 1

我要开始一个我想做的小项目,在这里我创建了一个C++程序来将库存数据存储到一个文件中(我想.txt就可以了)

  • ·项目描述·手头数量·批发成本·零售成本·库存添加日期

我需要能够:

·向文件中添加新记录。显示文件中的任何记录。更改文件中的任何记录

在我开始之前有什么事情可以让我更容易更有效率.

例如,我是否应该尝试使用XML,或者通过C++使用太难的东西?

我从来没有真正理解过最有效的方法。

就像我会在文件中搜索并查找括号中的东西之类的东西吗?

编辑

数据不应该太大。这是为了家庭作业,我想你可以这么说。我想将结构的内容写入一个文件的路径中,我该怎么做呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-04-01 10:43:17

有很多种方法。这是家庭作业还是真正的用途?如果是为了家庭作业,你可能会受到一些限制。

否则,我建议一些嵌入式DBMS,如SQLite。也有其他的,但这将是最强大的解决方案,也将有最简单的实现。

XML也是可以接受的,并且有许多可重用的实现,但是一旦进入数千条记录,它将开始失去性能。JSON也是如此。而且人们可能仍然认为哪一个更简单-- JSON或XML。

另一种可能是创建一个struct并将其内容直接写入文件。但是,如果记录大小不是恒定的,就会变得很棘手。而且,如果记录格式发生变化,则需要重新生成文件。否则,如果仔细执行,这个解决方案可能是最好的性能之一。

票数 4
EN

Stack Overflow用户

发布于 2009-04-01 10:36:17

你能告诉我们为什么你不想使用数据库引擎吗?

如果只是为了学习,那么.请给我们估计该文件中存储的数据的大小和访问模式(有多少用户,他们多久做一次等等)?

挑战将是创建一个高效的搜索和修改代码。

对于搜索来说,它是关于数据结构和组织的。对于修改,您将如何将更新写入文件,而不将其完全读入内存,在内存中进行更新,然后再次将其完全写入文件。

票数 1
EN

Stack Overflow用户

发布于 2009-04-01 13:11:37

如果这是一个实际将被使用的项目,并且有可能随着时间的推移添加特性,那么从一开始就使用一个数据库解决方案,即使它看起来有些过分。我以前在这条路上走过,随着时间的推移,小功能会被添加进来,而在你意识到它之前,你已经实现了一个数据库。很糟糕。咬紧牙关使用数据库。

如果这是一个学习练习,它取决于您想要存储的数据量。如果它很小,最简单的方法就是将整个文件读入内存并在那里操作。当进行更改时,将整个文件写回磁盘。如果数据太大,无法做到这一点,那么第二个最好的方法就是有固定大小的记录。创建包含所有数据(即没有指针、stl容器等)的POD结构。然后,您可以重写单个记录,而无需重写整个文件。如果这两种方法都不起作用,那么最好的选择就是数据库解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/704892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档