2010-01-01 39 views
0

有人可以给我一些关于将大量数据存储到文件的提示吗?例如:我使用C++创建音频音序器,并且想要保存所有音频样本名称(文件路径),有关项目中音频轨道的信息(名称,音量,静音,独奏,等等)以及样本在时间轴上放置到文件中的位置。将多个数据存储到一个文件中

我真的不知道什么是最好的方式来做到这一点。我不想为此使用第三方图书馆,而且我是该语言的开始程序员。

谢谢!

回答

1

当你想在同一个文件中保存不同的信息时,有两种流行的方式:固定长度字段和分隔字段。使用固定长度字段时,每个部分都存储在相同大小的块中。所以如果你想存储5件东西,并且将它们存储在80个字符的块中,你可以在文件中偏移160来读取第三个东西。

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

1

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

+0

什么SQLite?我想要做的是创建自己的文件格式,读取和存储数据。像例如Audacity一样的程序。 – Midas

+0

它是一个可嵌入的SQL数据库引擎 –

2

两个思路来我的脑海:

1)使用XML类型的格式

2)使用你的意思是用什么在Windows初始化文件格式

+0

我想我会看看INI文件。谢谢。 – Midas

+0

问题是:它并不是真正意义上的程序配置文件。我真的想创建自己的文件格式,以简单的方式存储数据,所以它可以在记事本中编辑,或者像专业程序一样使用Photoshop,Cubase ...我想要非常标准。 – Midas

+0

如果你喜欢标准,XML是一个很好的选择,但是要做到这一点,你需要使用XML库(手工生成/解析XML是一种不必要的痛苦)。 (请注意,使用XML通常不足以使您的文件格式可以被其他软件使用)如果您只需要简单的东西,纯文本格式的优点是易于实现(不需要第三方库) ,调试时容易检查正确性。 –

相关问题