name.c

来自「操作系统实验,文件系统,c语言实现的」· C语言 代码 · 共 85 行

C
85
字号
#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 + -
显示快捷键?