⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 close.c

📁 一个用C编写的简单的关系数据库系统
💻 C
字号:
int Close(DBF * dbf_name, char * commond)
{
	FILE * fp;
	DBF * dbfPtr = NULL;
	char close_name[TABLE_NAME_LENGTH];
	int i = 0;
	int close_no = -1;

	commond = strtok(commond," ");
	commond = strtok(NULL," ");

	if (commond == NULL)
	{
		puts("	你没有输入文件名,请输入文件名");
		return 0;
	}
	if (strlen(commond) > TABLE_NAME_LENGTH)
	{
		puts("	输入表名错误");
		return ERROR;
	}
	strcpy(close_name,commond);
	for (i=0; i<MAX_OPENED_COUNT; i++)
	{
		if (strcmpi(dbf_name[i].dhName,close_name) == 0) 
		{
			close_no = i;
			break;
		}
	}
	if (close_no == -1)
	{
		puts("	该表未打开过!!!");
		return ERROR;
	}

	dbfPtr = &(dbf_name[close_no]);
	if (dbf_name[close_no].dhModify == 0)/*判断是否被修改过,若无修改则直接关闭*/
	{
		InitializeDbf(dbfPtr);
		printf("	关系 %s 已关闭\n",close_name);
		return close_no;
	}
	/*将表信息回写到文件*/
	fp = fopen(close_name,"rb+");
	if(fp == NULL)
	{
		printf("	未知错误,无法打开文件 %s\n", close_name);
		return 0;
	}
	dbfPtr->dhID = FREE;
	fwrite(dbfPtr,sizeof(DBF),1,fp);
	InitializeDbf(dbfPtr);
	fclose(fp);
	printf("	关系 %s 已关闭\n",close_name);
	return close_no;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -