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

📄 xinjian.txt

📁 为LINUX设计一个简单的二级文件系统有要求
💻 TXT
字号:
#include<stdio.h>   
  //#include<dir.h>   
  #include<istream>   
  #include<string.h>   
  #include<conio.h>   
  #include<errno.h>   
  #include<dos.h>   
  #include<io.h>   
  #include<process.h>   
  #define   PRF   printf   
  #define   MAXPATH   100   
  char   buffer[MAXPATH],   str1[12];     
  char   file[MAXPATH];     
  /*buffer用来存储工作目录,   定义为全局变量,在用cd..和cd命令有用*/   
  void   makefile()/*建立一个新文件*/   
  {     
                  int   handle;   
                  scanf("%s",   file);   
                  if(strcmp(file,   "/?")   ==   0)   
                                  PRF("     mf   newfilename");   
                  else   
                  {   
                                  handle   =   creatnew(file,   0);   
                                  if(handle   ==   -1)   
                                                  PRF("%s   already   exists.\n",   file);   
                                  else   
                                                  PRF("%s   successfully   created.\n",   file);   
                  }   
  }   
  void   dir()/*列出当前的工作目录中的文件和目录*/   
  {   
                  char   para[6];   
                  scanf("%s",   para);   
                  if(strcmp(para,   "/?")   ==   0)   
                                  PRF("     dir   [/b][/m][/p][|more]\n");   
                  else   
                                  if(strcmp(para,   "/w")   ==   0)system("dir/w");   
                                  else   if(strcmp(para,   "/b")   ==   0)system("dir/b");   
                                  else   if(strcmp(para,   "|more")   ==   0)system("dir|more");   
                                  else   if(strcmp(para,   "/b|more")==   0)system("dir/b|more");   
                                  else   if(strcmp(para,   "/w|more")   ==   0)system("dir/w|more");   
                                  else   if(strcmp(para,   "/p")   ==   0)system("dir/p");   
                                  else   PRF("'dir'   have   no   '%s'   parameter",   para);   
  }

void   del()/*删除文件*/   
  {   
                  struct   ffblk   ffblk;   /*定义一个搜索文件的结构体*/   
                  int   done,   flag=0,   i;   
                  scanf("%s",   file);   
                  for(i=0;   i<(int)strlen(file);   i++)   
                  if(file[i]   ==   '?'   ||   file[i]   ==   '*')   
                  {   
                                  flag=1;   
                                  break;   
                  }   
                  if(strcmp(file,   "/?")   ==   0)   
                                  PRF("     del   filename         del   *.extendname");   
                  else   if(flag)/*删除一特定文件*/   
                  {   
                                  done=findfirst(file,   &ffblk,   0);   
                                  while(!done)   
                                  {   
                                                  remove(ffblk.ff_name);   /*删除找到符合条件的文件*/   
                                                  done=findnext(&ffblk);   
                                  }   
                                  PRF("All   files   that   accord   to   your   conditions   were   deleted!\n");   
                  }   
                  else   
                  {   
                                  if(remove(file)   ==   0)   
                                                  PRF("Removed   %s   successfully!\n",   file);   
                                  else   
                                                  perror("remove");   /*perror()是c语言里的错误处理函数*/   
                  }   
  }   
  void   cd()/*进入选定目录*/   
  {   
                  char   dirname[MAXPATH];   
                  scanf("%s",   dirname);   
                  if(strcmp(dirname,   "/?")   ==   0)   
                                  PRF("     cd   directoryname");   
                  else   
                  {   
                                  strcpy(buffer,   dirname);   /*将输入的目录名赋给buffer*/   
                                  if(chdir(buffer))/*更改工作目录*/   
                                                  perror("chdir()");   
                                  getcwd(buffer,   MAXPATH);   /*用函数chdir()更改目录后,重新给buffer赋值,使其为当前目录*/   
                  }   
  }   
  void   cdup()/*返回到上层目录,   有点小问题拉*/   
  {   
                  char   str_1[MAXPATH],   *p;   
                  int   n;   
                  strcpy(str_1,   buffer);   
                  n=(int)strlen(str_1);   /*n存储工作目录buffer字符串的长度*/   
                  p=str_1+n;   /*使指针指向字符串的最后一个字符*/   
                  while((*p)   !=   '\\')   
                  p--;   
                  *p='\0';   /*在指针指向str_1的地方重新赋值*/   
                  strcpy(buffer,   str_1);   
                  if(chdir(buffer))/*更改工作目录*/   
                                  perror("chdir()");   
                  getcwd(buffer,   MAXPATH);   /*用函数chdir()更改目录后,重新给buffer赋值,使其为当前目录*/   
  }   
  void   cls()/*清屏*/   
  {   
                  clrscr();   

⌨️ 快捷键说明

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