delete.c

来自「操作系统课程设计」· C语言 代码 · 共 26 行

C
26
字号
/*删除文件函数delete( )(文件名delete.c)*/
#include <stdio.h>
#include <string.h>
#include "filesys.h"

delete (char *filename)
{
	int i;
	unsigned int dinodeid;
	struct inode *inode;
	dinodeid=namei(filename);
	if (dinodeid!= 0)
	{
		inode =iget(dinodeid);
	    inode ->di_number--;
	//printf("%d",inode ->di_number);
	    iput(inode);
	}
	for (i=0;i<dir.size;i++)
		{	if ((!strcmp(dir.direct[i].d_name,filename)) && (dir.direct[i].d_ino!=0))
			dinodeid=i;   /* find */
		  }
    if (dinodeid!= 0)    {dir.direct[dinodeid].d_ino=0; printf("删除成功!\n");}
    else printf("该文件不存在!\n");
}

⌨️ 快捷键说明

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