📄 close.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 + -