将多个数据存储到文件中

时间:2010-01-01 22:16:54

标签: c++ user-interface file-io

有人可以给我一些关于将大量数据存储到文件中的提示吗?

例如:我正在使用C ++创建音频音序器,我想保存所有音频样本名称(文件路径),有关项目中音轨的信息(名称,音量,静音,独奏等) 。)以及将样本放在时间轴上的文件。

我真的不知道最好的方法是什么。我不想为此使用第三方库,我是该语言的初级程序员。

谢谢!

4 个答案:

答案 0 :(得分:2)

我想到了另外两个想法:

1)使用XML类型格式

2)使用Windows初始化文件格式

答案 1 :(得分:1)

嗯......这只是一个意见,但下次我会使用SQLite数据库作为文件格式。

答案 2 :(得分:1)

如果要在同一文件中保存不同的信息,有两种常用的方法:固定长度字段和分隔字段。对于固定长度字段,每个部分都存储在相同大小的块中。因此,如果您想存储5个内容,并将它们存储在80个字符的块中,您可以在文件中偏移160以读取第三个。

在分隔文件中,您在每个数据片段之间放置一个字符(或一系列字符),可以是任意长度。由于您的数据长度差异很大,我建议使用分隔存储,可能每个都在一个单独的行上(“\ n”打印在每一行之间)。

答案 3 :(得分:0)

嗯...以二进制模式打开文件,写入数据,关闭文件。

或许你对这个问题不够明确?

编辑> 以二进制模式写入和读取文件(示例):

#include <fstream>
#include <iostream>

std::ofstream FileOut("Toto.txt", std::ios_base::binary);
int xout = 24;
FileOut.write(reinterpret_cast<const char*>(&xout), sizeof(int));
FileOut.close();

std::ifstream FileIn("Toto.txt", std::ios_base::binary);
int xin;
FileIn.read(reinterpret_cast<char*>(&xin), sizeof(int));
FileIn.close();

std::cout << xin << std::endl;

现在,这只是一个例子,你将在google上有很多有效的好教程:http://www.google.com/search?rlz=1C1GGLS_frFR299FR303&sourceid=chrome&ie=UTF-8&q=c%2B%2B+binary+file