Ann*_*inn 2 c++ filesystems stdio
我正在将3D模型数据写入文件,同时包含许多不同类型的信息(网格,纹理,动画等),大小约为50到100 mb.
我想把所有这些放在一个文件中,但是如果我只需要读取该文件的一小部分来获得我想要的东西,我担心它会花费我.
我应该使用多个较小的文件,还是一个非常大的文件好吗?我不知道文件系统如何处理试图跳转巨型文件,所以我知道迭代大文件可能要么昂贵,要么根本没问题.
另外,如果使用单个大文件,我还有什么特别的事吗?
访问文件中间的数据没有问题 - 操作系统不需要读取整个文件,它可以轻松跳到任何一点.复杂性的来源是,您需要提供一个可以读取的索引,以识别各种数据的位置.
例如,如果要读取特定动画,则需要一种方法来告诉程序该数据在文件中的位置.一种方法是在文件的开头存储索引结构,程序将读取该结构以找出所有数据的位置.然后,它可以在此索引中查找动画,发现它位于24680位置并且长度为2048字节,然后它可以寻找此位置来读取数据.
fseek
如果您不熟悉在文件中搜索,可能需要查找电话:http://www.cplusplus.com/reference/cstdio/fseek/
归档时间: |
|
查看次数: |
465 次 |
最近记录: |