📄 main.c
字号:
#include <stdio.h>
#include "filesys.h"
struct hinode hinode[NHINO];
struct dir dir;
struct file sys_ofile[SYSOPENFILE];
struct filsys filsys;
struct pwd pwd[PWDNUM];
struct user user[USERNUM];
FILE *fd;
struct inode *cur_path_inode;
int user_id,file_block;
main()
{
unsigned short ab_fd1,ab_fd2,ab_fd3,ab_fd4;
unsigned short bhy_fd1;
char *buf;
int i;
/*printf("\nDo you want to format the disk \n");
if(getchar()=='y')
printf("\nFormat Will erase all context on the disk. Are You Sure!!\n");
if(getchar()=='y')*/
format();
/*printf("in---->install\n");*/
install();
/*printf("in---->dir\n");*/
/*printf("in---->login\n");*/
login(2118,"abcd");
dirlt(2); /*自编程序,供调试用*/
_dir(); /*供调试用*/
pause(); /*供调试用,1*/
/*调试1后,显示结果1*/
/* user_id=0;*/
printf("in---->mkdir\n");
mkdir("a2118");
printf("in---->chdir\n");
chdir("a2118");
dirlt(2); /*自编程序,供调试用*/
_dir(); /*供调试用*/
pause(); /*供调试用,2*/
/*调试2后,显示结果2。注意:先删除调试1中的pause();语句。*/
file_block=BLOCKSIZ*6+5;
printf("in---->creat:ab_file0.c\n");
ab_fd1=creat(user_id,"ab_file0.c",01777);
buf=(char*)malloc(BLOCKSIZ*6+5);
write(ab_fd1,buf,BLOCKSIZ*6+5);
close(user_id,ab_fd1);
free(buf);
dirlt(2); /*自编程序,供调试用*/
_dir(); /*供调试用*/
pause(); /*供调试用,3*/
/*调试3后,显示结果3。注意:先删除调试2中的pause();语句。*/
printf("\nin---->mkdir:subdir\n");
mkdir("subdir");
chdir("subdir");
dirlt(2); /*供调试用*/
_dir(); /*供调试用*/
pause(); /*供调试用,4*/
/*调试4后,显示结果4。注意:先删除调试3中的pause();语句。*/
file_block=BLOCKSIZ*4+20;
ab_fd2=creat(user_id,"ab_file1.c",01777);
buf=(char *)malloc(BLOCKSIZ*4+20);
write(ab_fd2,buf,BLOCKSIZ*4+20);
close(user_id,ab_fd2);
free(buf);
dirlt(2); /*供调试用*/
_dir(); /*供调试用*/
pause(); /*供调试用,5*/
/*调试5后,显示结果5。注意:先删除调试4中的pause();语句。*/
printf("\nin---->chdir:..\n");
chdir("..");
dirlt(2); /*供调试用*/
_dir(); /*供调试用*/
printf("\nin---->creat(ab_file2.c)\n");
file_block=BLOCKSIZ*3+255;
ab_fd3=creat(user_id,"ab_file2.c",01777);
buf=(char*)malloc(BLOCKSIZ*3+255);
write(ab_fd3,buf,BLOCKSIZ*3+255);
close(user_id,ab_fd3);
free(buf);
dirlt(2); /*供调试用*/
_dir(); /*供调试用*/
pause(); /*供调试用,6*/
/*调试6后,显示结果6。注意:先删除调试5中的pause();语句。*/
printf("\nin---->delete\n");
delete("ab_file0.c");
dirlt(2); /*供调试用*/
_dir(); /*供调试用*/
pause(); /*供调试用,7*/
/*调试7后,显示结果7。注意:先删除调试6中的pause();语句。*/
printf("\nin---->creat(ab_file3.c)\n");
file_block=BLOCKSIZ*8+300;
ab_fd4=creat(user_id,"ab_fi1e3.c",01777);
buf=(char *)malloc(BLOCKSIZ *8+300);
write(ab_fd4,buf,BLOCKSIZ*8+300);
close(user_id,ab_fd4);
free(buf);
dirlt(2); /*供调试用*/
_dir(); /*供调试用*/
pause(); /*供调试用,8*/
/*调试8后,显示结果8。注意:先删除调试7中的pause();语句。*/
printf("\nin---->open(ab_file2.c)\n");
file_block=BLOCKSIZ*3+100;
ab_fd3=open(user_id,"ab_file2.c",FAPPEND);
buf=(char *)malloc(BLOCKSIZ*3+100);
write(ab_fd3,buf,BLOCKSIZ*3+100);
close(user_id,ab_fd3);
free(buf);
dirlt(2); /*供调试用*/
_dir(); /*供调试用*/
pause(); /*供调试用,9*/
/*调试9后,显示结果9。注意:先删除调试8中的pause();语句。*/
printf("\nin---->chdir()\n");
chdir ("..");
printf("\nin---->logout()\n");
logout(user_id);
dirlt(2); /*供调试用*/
_dir(); /*供调试用*/
pause(); /*供调试用,10*/
/*调试10后,显示结果10。注意:先删除调试9中的pause();语句。*/
printf("\nin---->halt()\n");
halt( );
/*注意:先删除调试10中的pause();语句。*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -