?? han.c
字號:
#include <stdio.h>
#include <stdlib.h> /*不容易歸類的標準函數庫*/
#include <string.h>
#include <iostream.h>
struct Flie
{
int ed; //判斷是否正存放文件
char f_name[8]; //文件名
char f_c[8]; //存放文件內容
int att ; // 文件屬性 0為只讀 1為只寫 //用于指向文件內容模塊
}fa[8],fg[8];
int x; //全局鑰匙
void check() //密碼認證
{
int check,a=1;
char pin1[]="admin"; //此處設定用戶口令
char pin[20];
while(a)
{
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf(" * 文件管理系統用戶登錄 *\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("請選擇用戶:\n");
printf(" 1.Administrator 2.Guest 3.退出系統\n");
scanf("%d",&x);
getchar();
if(x==3)
{
system("cls");
break;
}
printf("密 碼:");
scanf ("%s",pin);
check=strcmp(pin,pin1);
if (check!=0)
{
system("cls");
printf("\n密碼錯誤! 請重新輸入:\n");
}
else
{
system("cls");
a=0;
}
}
}
void createfile() /*創建文件操作*/
{
int handle=1,a,check,i,j,h;
char name[8],pin[8];
while(1)
{
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf(" * 創建文件 *\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("請輸入所要創建的文件名稱:\n");
scanf("%s",name);
if(x==1)
{
for( i=0;i<8;i++)
{
for(j=0;j<8;j++)
pin[j]=fa[i].f_name[j];
check=strcmp(pin,name);
if (check!=0){}
else
{
printf("\n創建錯誤!文件已經存在!");
handle=0;
getchar();
break;
}
}
if(handle==1)
{
for(h=0;h<8;h++)
if(fa[h].ed==0)
{
strcpy(fa[h].f_name,name);
while(1)
{
printf("\n請選擇文件屬性(0.只讀 - 1.只寫):");
scanf("%d",&a);
getchar();
if(a==0||a==1)
{
fa[h].att=a;
printf("\n創建文件成功.\n");
fa[h].ed=1;
break;
}
else
printf("錯誤! 請重新輸入:\n");
}
break;
}
}
getchar();
break;
}
if(x==2)
{
for( i=0;i<8;i++)
{
for(j=0;j<8;j++)
pin[j]=fg[i].f_name[j];
check=strcmp(pin,name);
if (check!=0){}
else
{
printf("\n創建錯誤!文件已經存在!");
handle=0;
break;
}
}
if(handle==1)
{
for(h=0;h<8;h++)
if(fa[h].ed==0)
{
strcpy(fg[h].f_name,name);
while(1)
{
printf("\n請選擇文件屬性(0.只讀 - 1.只寫):");
scanf("%d",&a);
getchar();
if(a==0||a==1)
{
fg[h].att=a;
printf("\n創建文件成功.\n");
fg[h].ed=1;
getchar();
break;
}
else
printf("錯誤! 請重新輸入:\n");
}
break;
}
}
break;
}
}
}
void deletefile() /*刪除文件的操作*/
{
int status=0,j=0,i,check,choice;
char name[8],pin[8];
while(1)
{
system("cls");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf(" * 刪除文件 *\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
if(x==1)
{
printf("請輸入所要刪除的文件名稱:\n");
scanf("%s",name); /*輸入要刪除的文件名*/
printf("\n請確認(0 - 1):");
scanf("%d",&choice);
getchar();
if(choice==1)
{
for( i=0;i<8;i++)
{
for(j=0;j<8;j++)
pin[j]=fa[i].f_name[j];
check=strcmp(pin,name);
if (check!=0){}
else
{
status=1;
if(fa[i].att==0) /*獲取文件的狀態,是否存在并且是否只讀*/
j=1;
if(j==1)
{
printf("\n刪除錯誤! 文件為只讀文件!"); }//只讀文件
else if(j!=0) //從目錄中刪除一個文件
{strcpy(fa[i].f_name," ");
strcpy(fa[i].f_c," ");
fa[i].ed=0;
printf("\n刪除文件成功.");
}
getchar();
break;
}
}
if(status!=1)
{
printf("\n刪除錯誤! 所要刪除的文件不存在!\n");/*文件不存在*/
getchar();
}
}
break;
}
if(x==2)
{
printf("請輸入所要刪除的文件名稱:\n");
scanf("%s",name); /*輸入要刪除的文件名*/
printf("\n請確認(0 - 1):");
scanf("%d",&choice);
getchar();
if(choice==1)
{
for( i=0;i<8;i++)
{
for(j=0;j<8;j++)
pin[j]=fg[i].f_name[j];
check=strcmp(pin,name);
if (check!=0){}
else
{
status=1;
if(fg[i].att==0) /*獲取文件的狀態,是否存在并且是否只讀*/
j=1;
if(j==1)
{
printf("\n刪除錯誤! 文件為只讀文件!"); //只讀文件
}
else if(j!=0) //從目錄中刪除一個文件函數
{ strcpy(fg[i].f_name," ");
strcpy(fg[i].f_c," ");
fg[i].ed=0;
printf("\n刪除文件成功.");
break;
}
getchar();
break;
}
}
if(status!=1)
{
printf("\n刪除錯誤! 所要刪除的文件不存在!");/*文件不存在*/
getchar();
}
}
}
break;
}
}
void openfile() /*打開文件操作*/
{
int i,a=0,j,check;
char name[8],pin[8];
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf(" * 打開文件 *\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("請輸入您所要打開文件的名稱: \n");
scanf("%s",name);
getchar();
if(x==1)
{
for( i=0;i<8;i++)
{
for(j=0;j<8;j++)
pin[j]=fa[i].f_name[j];
check=strcmp(pin,name);
if (check!=0){}
else
{
printf("%s",fa[i].f_c);
a=1;
}
}
if(a!=1)
printf("文件不存在!");
getchar();
}
else if(x==2)
{
for( i=0;i<8;i++)
{
for(j=0;j<8;j++)
pin[j]=fg[i].f_name[j];
check=strcmp(pin,name);
if (check!=0){}
else
{
printf("%s",fg[i].f_c);
a=1;
}
}
if(a!=1)
printf("文件不存在!");
getchar();
}
}
void writefile() /*書寫文件*/
{
int i,j,check,b=1;
char ch=0,a=0,name[8],c[8],pin[8];
while(b)
{
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf(" * 書寫文件 *\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("請輸入要書寫的文件的名稱:\n");
scanf("%s",name);
if(x==1)
{
for( i=0;i<8;i++) /*獲取文件的狀態,是否存在*/
{
for(j=0;j<8;j++)
pin[j]=fa[i].f_name[j];
check=strcmp(pin,name);
if (check!=0){}
else
{
if(fa[i].att==0)
{
printf("書寫錯誤!只讀文件!\n");
a=1;
getchar();
getchar();
break;
}
printf("請輸入文件的內容: \n");
scanf("%s",c);
strcpy(fa[i].f_c,c);
printf("書寫文件成功.\n");
a=1;
b=0;
getchar();
getchar();
break;
}
break;
}
if(a!=1)
{
printf("文件不存在!");
getchar();
getchar();
break;
}
break;
}
getchar();
if(x==2)
{
for( i=0;i<8;i++) /*獲取文件的狀態,是否存在*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -