如何使用ANSI C中的标准文件函数实现一个本地数据库

xongxong 2007-02-02 09:35:31
1.实现一个本地数据库,数据库文件为简单文件形式,使用标准文件函数实现;
2.数据库提供写、读、修改的基本函数接口;
3.数据库设置最大允许保存的数量,可以通过程序配置最大允许保存的数量。超过数量时,使用循环覆盖,覆盖最早保存的数据;
我是新手,现在一点头绪都没有,希望大家帮帮忙,谢谢了
...全文
496 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
UltraBejing 2008-05-01
  • 打赏
  • 举报
回复
这个简单啊,网上搜一下就得到答案了.
roger_77 2007-04-11
  • 打赏
  • 举报
回复
参考:SQLite开源数据库
http://www.sqlite.org/

SQLite是一个小型的C程序库,实现了独立、可嵌入、零配置的SQL数据库引擎,其特性包括:事务操作是原子,一致,孤立,并且持久的,即使在系统崩溃和电源故障之后。

零配置??不需要安装和管理,实现了绝大多数SQL92标准。

整个数据库存储在一个单一的文件中,数据库文件可以在不同字节序的机器之间自由地共享,支持最大可达2T的数据库。字符串和BLOB类型的大小只受限于可用内存。

完整配置的少于250KB,忽略一些可选特性的少于150KB。在大多数常见操作上比流行的客户/服务器数据库引擎更快。

简单易于使用的API:内建TCL绑定,另外提供可用于许多其他语言的绑定。

具有良好注释的源代码,95%经过测试。

独立:没有外部依赖,源代码位于公共域,可用于任何用途。

jixingzhong 2007-04-04
  • 打赏
  • 举报
回复
http://sourceforge.net

搜索开源工程吧
jixingzhong 2007-04-04
  • 打赏
  • 举报
回复
mysql 源码
zzyjsjcom 2007-04-04
  • 打赏
  • 举报
回复
推荐一本书,上面有一个小型数据库的设计与实现,有c源代码,标准c实现。
unix环境高级编程
xongxong 2007-02-06
  • 打赏
  • 举报
回复
顶一下,希望有热心人帮帮忙
xongxong 2007-02-03
  • 打赏
  • 举报
回复
你们说的这些都没啥用阿,能详细点不?
FingerStyle 2007-02-02
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
typedef struct info
{
int m_id;
string m_name;
void Print()
{
cout<<"ID:"<<m_id<<endl;
cout<<"Name:"<<m_name<<endl;
}
}InfoFormat;

int main()
{
InfoFormat stu[2];
stu[0].m_id = 0;
stu[0].m_name = "ClassPatterns";
stu[1].m_id = 1;
stu[1].m_name = "YeFeng"; //信息

FILE* fp = fopen("a.txt", "wb");
fwrite(stu, sizeof(stu), 1, fp);
fclose(fp); //写文件

InfoFormat student;
fp = fopen("a.txt", "rb");
string strname;
cout<<"输入查找的姓名"<<endl;
cin>>strname;
while (student.m_name != strname ) //查询
{
fread(&student, sizeof(InfoFormat), 1, fp);
}
student.Print();
fclose(fp);
return 0;

}

基本原理...
qhgary 2007-02-02
  • 打赏
  • 举报
回复
建议你
1. 先学会用ansi-c操作文件(读写)
2. 弄清楚数据库需要提供那些功能(查询?添加?删除?)
3. 然后再设计数据库的结构.

我想应该不会让你做很复杂的东西,只是为了让你熟悉文件操作以及数据库的基本原理而已.
应该不会让你实现SQL语句的支持功能,否则你就去参考MySQL吧,一个开源数据库软件.

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧