我正在做一个家庭作业项目,我试图将库存数据存储到一个文件中。
库存数据大小不应该太大,因为从技术上讲,没有人会真正使用它。
我需要将这些内容写入一个文件:
·项目描述·手头数量·批发成本·零售成本·库存添加日期
,我需要创建一个允许我这样做的接口:
·向文件中添加新记录。显示文件中的任何记录。更改文件中的任何记录
结构将是这方面最简单的方式,海事组织。如果我能弄清楚如何将结构读/写到文件中,这应该是非常容易的。
如果你能提供一个关于如何做到这一点的小例子,我将非常感激。
谢谢!
发布于 2009-04-01 23:03:37
IOStream库做的
流类提供了将数据作为输出流写入文件的接口。 如果流类提供作为输入流从文件中读取数据的接口。
编辑- 示例
发布于 2009-04-01 23:06:27
问你的老师,你能使用boost库吗?
如果是,请阅读boost血清化教程,它包含一个简单的示例:0/libs/序列化/doc/tutorial.html
但是,如果您想要了解如何处理文件,则应该在不需要任何帮助或增强的情况下这样做。
如果您想使用std::iofstreams,您应该决定支持什么格式:
发布于 2009-04-01 23:10:24
如果您不介意非常低的级别,则可以通过将指向struct的指针转换为void*并使用sizeof()获取结构长度来复制结构的进出。(IIRC它们是一种将空缓冲区转储/读取到/从文件中读取的方法)
注意,只有在数据没有指针/引用/等等的情况下,这才有效。
我比C++更喜欢C's IO,所以:
typedef struct { int hi; int mon; char[35] dat; } S;
S s;
S arr[22];
int f; // write
f = open(/* I forget the args*/);
// one
if(sizeof(s) != write(f, &s, sizeof(s))) Error();
// many
if(sizeof(arr) != write(f, arr, sizeof(arr))) Error();
close(f); // read
f = open(/* I forget the args*/);
// one
if(sizeof(s) != read(f, &s, sizeof(s))) Error();
// many
if(sizeof(arr) != read(f, arr, sizeof(arr))) Error();
close(f);https://stackoverflow.com/questions/707664
复制相似问题