name.c

来自「此版本是在网上广为流传的 二级文件系统 基础上制作的.重新编写了块操作等模块,修」· C语言 代码 · 共 43 行

C
43
字号
#include <string.h>
#include <stdio.h>
#include "filesys.h"

unsigned int namei(name)    /* namei*/
char *name;
{
  int i,notfound=1;
/*printf("\nnamei----dir.size=%d\n",dir.size);*/
  for(i=0;((i<dir.size)&&(notfound));i++)
  {
/* printf("i=%d,name=%s,ino=%d\n",i,dir.direct[i].d_name,dir.direct[i].d_ino);*/
     if((!strcmp(dir.direct[i].d_name,name))&&(dir.direct[i].d_ino!=0))
         return dir.direct[i].d_ino;    /* find */
  }
  /* not find*/
  return NULL;
};

unsigned short iname(name)    /*iname*/
char *name;
{
  int i,notfound=1;
  for(i=0;((i<DIRNUM)&&(notfound));i++)
      if(dir.direct[i].d_ino==0)
      {
        notfound=0;
        break;
      }
  if(notfound)
  {
    printf("\nThe current dlrectory is full!!! \n");
    return NULL;
  }
  else
  {
    strcpy(dir.direct[i].d_name,name);
    dir.direct[i].d_ino=1;    /*送一个非0正数,即可*/
    return i;
  }
}

⌨️ 快捷键说明

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