`
桔红糕
  • 浏览: 42512 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

简易内存数据库(四)CREATE

    博客分类:
  • CPP
FP 
阅读更多

因为整个程序都是围绕Table的,为了方便起见,我申明了一个全局变量

Table t;

  

我们一个单词一个单词的读取文件内容。然后一个单词一个单词的进行比较。

临时的内容保存在char buffeer[100]中。

有时候需要的内容就直接保存在相应的table内存块中。

 

创建代码如下

/*
 * 描述:根据给定文件,在内存里填充数据库格式
 * 参数:已经打开的文件
 * 返回:返回0说明创建失败。返回1则创建成功
 */
int createTable(FILE *fp)
{
	//先把要填充的内容清空
	memset(&t, 0, sizeof(Table));	
	
	char buffer[100];
	//第一次读应该读到create
	fscanf(fp,"%s",buffer);
	if (stricmp(buffer,"create")) return 0; 

	//第二次读应该读到table
	fscanf(fp,"%s",buffer);
	if (stricmp(buffer,"table")) return 0; 

	//第三次读应该读到表名
	fscanf(fp,"%s",t.name);

	//第四次读应该读到(
	fscanf(fp,"%s",buffer);
	if (strcmp(buffer,"(")) return 0; 

	//接下去开始读column内容

其中有2个函数解释一下

1)memset 。看名字就知道,是memory set。设置内存的内容。memset(&t, 0, sizeof(Table))就是把&t指向的地址后的sizeof(Table)长度的字节设置成0

2)stricmp。 strcmp是两个字符串比较. stricmp是两个字符串不分大小写的比较。

分享到:
评论

相关推荐

    andriod数据库简易实现

    总结来说,实现“安卓数据库简易实现”需要以下步骤: 1. 创建SQLiteOpenHelper子类,定义数据库和表结构。 2. 实现数据库操作方法,如插入、查询、更新和删除。 3. 在需要的地方调用这些方法,如登录界面。 4. 考虑...

    C++ 实验项目:基于C++实现的简易数据库系统.pdf

    ### C++ 实验项目:基于 C++ 实现的简易数据库系统 #### 项目概述 本项目旨在使用 C++ 开发一个简易的数据库系统,该系统能够执行基本的 CRUD(创建、读取、更新、删除)操作。通过此项目,读者不仅能够加深对 C++...

    数据库课设,期末课设

    10. **数据库性能调优**:这包括查询优化、存储调整、内存配置和硬件升级等多个方面,以确保数据库高效运行。 在这个简易数据库课设中,学生可能会接触到上述这些基础知识,并通过实际操作来加深理解。通过这个过程...

    NUAA CCST 2022年春数据库原理实验 学生信息管理系统 可高度复现简易C#代码

    《NUAA CCST 2022年春数据库原理实验:学生信息管理系统简易C#实现详解》 在信息技术领域,数据库管理和系统开发是至关重要的部分。本实验项目以NUAA(南京航空航天大学)计算机科学与技术(CCST)专业2022年春季...

    数据库实验报告

    在安装过程中,首先需要满足一定的硬件要求,例如最低CPU频率为600MHz,推荐1GHz或更高,内存至少为512MB(企业版、标准版、工作组版、开发版),简易版则为192MB。硬盘空间要求包括数据库引擎、数据文件、复制和...

    c语言实现简单数据库.zip

    在本项目中,"c语言实现简单数据库.zip" 提供了一个使用C语言编写的简易数据库管理系统。这个系统包含了几个核心的数据库操作功能,如SELECT、INSERT(插入后排序)、CREATE和DELETE,这些功能是任何数据库管理系统...

    学生管理系统java+mysql简易

    1. **创建(Create)**:使用INSERT语句向数据库添加新学生信息。 2. **读取(Read)**:使用SELECT语句查询学生信息,可以按姓名、学号等条件过滤。 3. **更新(Update)**:通过UPDATE语句修改已存在的学生信息...

    数据库初学资料(1)

    【数据库初学资料(1)】这篇资料主要涵盖了数据库的基础知识,包括数据库原理、DBMS的组成以及用户访问数据的过程。以下是对这些知识点的详细解释: 1. **数据库原理**: - 数据库是一个集中存储和管理数据的系统...

    数据库技术(SQLServer)习题与参考答案.doc

    - **硬件环境**:至少需要1GB内存,足够的硬盘空间用于存储数据库文件。 3. **SQL Server 2005 版本和服务组件** - **版本**:企业版、标准版、工作组版、开发版和简易版。 - **服务组件**: - **SQL Server ...

    数据库专业技术SQLServer习题与参考答案.doc

    - **硬件要求**:参见教材中的具体说明,通常包括最低内存、处理器速度、磁盘空间等。 - **软件环境**:操作系统兼容性,如 Windows Server 2003 或更高版本。 3. **SQL Server 2005 的版本与服务组件** - **...

    Android的简易备忘录

    总结来说,这个简易备忘录应用展示了Android开发的基本流程,包括UI设计、数据库操作、事件处理以及权限管理等核心知识点。开发者可以根据自己的需求扩展功能,例如添加搜索、分类、云同步等功能,以提高应用的实用...

    一个android上的sqlite简易使用程序

    5. **关闭资源**: 记得在完成数据库操作后关闭`Cursor`和`Database`对象,避免内存泄漏: ```java cursor.close(); db.close(); ``` 6. **事务处理**: 对于一组数据库操作,可以使用`beginTransaction()`, `...

    Android简单的增删查改源码

    在Android开发中,数据操作是应用的核心功能之一,包括增加数据、删除数据、查询数据以及修改数据,这四个基本操作通常被称为CRUD(Create, Read, Update, Delete)。本资源"Android简单的增删查改源码"提供了一个...

    DataRescue.IDA 简易教程

    **DataRescue.IDA 简易教程** DataRescue.IDA 是一款强大的逆向工程工具,它结合了数据恢复和反汇编的功能,广泛应用于软件安全分析、漏洞研究以及恶意代码检测等领域。本教程将深入浅出地介绍如何使用 DataRescue....

    简道sqlite3模块易语言源码

    7. 动态内存管理:在使用SQLite3时,需要注意内存管理,例如使用`sqlite3_free()`释放由SQLite3分配的内存。 8. 安全性:SQLite3支持多种安全特性,如文件权限控制、数据加密等,开发者可以根据需求选择启用。 ...

    网上考试系统 Pb

    总结,网上考试系统Pb是一个基于PowerBuilder和SQL的简易考试平台,它融合了数据库设计、SQL操作、PB的特性如数据窗口和事件驱动编程,以及用户界面设计等多个IT领域的知识。理解并掌握这些技术,对于开发类似的在线...

    NetBox本地服务器搭建

    2. 至少4GB内存,推荐8GB或以上,以便于运行NetBox和其依赖的服务。 3. 可用的硬盘空间,NetBox本身并不大,但需要存储网络配置数据,所以根据实际情况预留足够的空间。 4. 安装了Python 3.6+的环境,因为NetBox需要...

Global site tag (gtag.js) - Google Analytics