【发布时间】:2013-11-05 19:15:01
【问题描述】:
我想用c编写小型数据库,数据将存储在文件中,程序将读取和写入文件结构。 我如何有效地创建这种程序? 例如,一次从文件中读取一个结构将效率不高(导致对 hdd 进行多次读/写)。所以我需要将文件的一部分放到内存中操作数据然后将其写入文件(更少的读取/写入硬盘),但是如果文件太大,这可能会导致问题,所以有一个新问题如何每次该文件的大部分内容都会加载到内存中..
所以这是个大话题,但我正在寻找有效的方法,但同时也有一些简单的方法,我不是在寻找最大的效率。 注意:对我来说简单的是一次一个结构。
谢谢。
【问题讨论】:
-
即使我这样做?
while(1){ fread(&cli,sizeof(Client),1,fp); if(!feof(fp)){...我不认为这是有效的...... -
不,fopen,然后fseek到你要写的记录,fwrite,fclose。
-
使用 fseek 我仍然需要搜索我想要的记录,所以我循环遍历文件,效率不高。
-
好的,使用 sqlite,请看下面的答案。
-
我知道什么是 sqlite.. 我正在寻找没有编码数据库的解决方案。
标签: c file data-structures