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

xongxong 2007-02-02 09:35:31
1.实现一个本地数据库,数据库文件为简单文件形式,使用标准文件函数实现;
2.数据库提供写、读、修改的基本函数接口;
3.数据库设置最大允许保存的数量,可以通过程序配置最大允许保存的数量。超过数量时,使用循环覆盖,覆盖最早保存的数据;
我是新手,现在一点头绪都没有,希望大家帮帮忙,谢谢了
...全文
497 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吧,一个开源数据库软件.
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 Oracle Database 11g初学者指南 基本信息 原书名: Oracle Database 11g, A Beginner's Guide 原出版社: McGraw-Hill Osborne Media 作者: (美)Ian Abramson    Michael Abbey    Michael Corey 译者: 窦朝晖 出版社:清华大学出版社 ISBN:9787302218937 上架时间:2010-2-20 出版日期:2010 年1月 开本:16开 页码:288 版次:1-1 内容简介   本书能使读者快捷地掌握oracle database 11g的基础知识。通过自我评估教程,介绍了核心数据库技术、管理员职责、高可用性以及大型数据库特性。本书带领读者循序渐进地学习数据库设置、管理、编程、备份和恢复。还深入介绍了sql和pl/sql。为了易于学习,这本独特的oracle press指南是这样组织的:    ·核心概念——oracle database 11g主题呈现在按逻辑组织的章节    ·主要内容——每章要介绍的具体内容列表    ·实践练习——演示如何应用在每章学到的关键技术    ·学习效果测试——对学习效果的快速自我评估    ·注意——与所介绍主题相关的额外信息    ·章节测验——每章结束时的测验测试读者对所学知识的掌握程度 作译者 作者   Ian Abramson是IOUG(Independent Oracle Users Group)现任总裁,现居加拿大多伦多,他是业界资深技术顾问,为电信、CRM、公用事业和其他行业的客户提供实现方案的专业指导。他的关注方向包括Oracle产品集,以及其他前沿技术和这些技术在优化数据仓库设计和部署的应用。他还是各种技术会议的主讲人,包括COLLABORATE、Oracle OpenWorld和其他地方与区域会议。   Michael Abbey是公认的数据库管理、安装、开发、应用迁移、性能调优和实现方面的权威。在过去的14年,他与IanAbramson和MichaelCorey为OraclePress合著了一系列图书.Abbey在国际Oracle用户团体非常活跃,经常出席COLLABORATE、OraclecOpenWorld和区域性用户组会议.   Michael J.Corey是Ntirety(ThecDatabasecAdministrationcExperts)的创始人和CEO.Michael的数据库情结可追溯到Oraclec3.0.Michael是IOUG(www.ioug.org)的前总裁和早期的Oraclec Press作者.他经常在世界各地的商业和技术会议上进行学术交流.他的博客是http://michaelcorey.ntirety.com   Michelle Malcher是一名高级数据库管理员,在数据库开发、设计和管理方面具有十多年经验.她是性能调优、安全、数据建模和超大型数据库环境数据库体系结构方面的专家.她是IOUG Best Practices Tip Booklet的特约作者.Michelle积极参加IOUG活动,是特殊兴趣组的负责人.在技术会议和用户组会议上她乐于展现和分享有关Oracle数据库主题的思想.她的Email是michelle_malcher@ioug.org. 目录 封面 -14 封底 -13 扉页 -12 版权 -11 关于作者 -10 前言 -8 目录 -5 第1章 数据库基础 1 1.1 数据库定义 2 1.2 Oracle Database 11g的体系结构 3 1.2.1 控制文件 4 1.2.2 联机重做日志 4 1.2.3 System表空间 4 1.2.4 Sysaux表空间 4 1.2.5 默认的临时表空间 5 1.2.6 Undo表空间 5 1.2.7 服务器参数文件 5 1.2.8 后台进程 5 1.2.9 数据库管理员 7 1.3 Oracle Database 11g的基本数据类型 8 1.3.1 varchar2 8 1.3.2 数字 9 1.3.3 日期 9 1.3.4 时间戳 9 1.3.5 clob 10 1.3.6 blob 10 1.4 表 10 1.5 存储对象 11 1.5.1 视图 12 1.5.2 触发器 12 1.5.3 过程 13 1.5.4 函数 13

5,530

社区成员

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

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