C ++中的平面文件数据库,有可能吗?

时间:2010-01-21 07:52:30

标签: c++

C ++中的平面文件数据库,有可能吗?

2 个答案:

答案 0 :(得分:4)

大多数平面文件数据库都是用C ++编写的。这清楚地表明它是可能的。

很容易制作自己的,特别是如果可移植 - 能够获取生成的文件并将其移动到另一台计算机或使用不同的程序编译 - 不是必需的。

struct my_record_t {
   ...
};

int read(my_record_t& rec,size_t idx,FILE *f) {
   if(0 > fseek(f,idx*sizeof(rec),SEEK_SET))
      return -1;
   if(1 != fread(&rec,sizeof(rec),1,f))
      return -1;
   return 0;
}

int write(my_record_t& rec,size_t idx,FILE *f) {
   if(0 > fseek(f,idx*sizeof(rec),SEEK_SET))
      return -1;
   if(1 != fwrite(&rec,sizeof(rec),1,f))
      return -1;
   return 0;
}

答案 1 :(得分:0)

尝试东京内阁:http://1978th.net/tokyocabinet/