📄 filesys.h
字号:
#include <stdio.h>
#include <iostream>
#include <vector>
#include <string>
#include "File.h"
#include "Texts.h"
using namespace std ;
Files MyFile;
Texts MyText;
int TextConfig;
string Commands;
int Te;
void PreShow()//
{
cout << " ************************************************************** " << endl;
cout << " * -Help -------- 获得帮助信息 * " << endl;
cout << " * -CreSFile -------- 创建同一层次文件 * " << endl;
cout << " * -CreFile -------- 创建子文件 * " << endl;
cout << " * -DelFile -------- 删除文件 * " << endl;
cout << " * -CreText -------- 创建文本 * " << endl;
cout << " * -DelText -------- 删除文本 * " << endl;
cout << " * -ShowDir -------- 显示当前所有所在层次文件 * " << endl;
cout << " * -ChaDir -------- 返回上一层 * " << endl;
cout << " * -SFCont -------- 显示文本内容 * " << endl;
cout << " * -Exit -------- 退出系统不保存 * " << endl;
cout << " * -Save -------- 保存系统并退出 * " << endl;
cout << " ************************************************************** " << endl;
cout << endl;
cout << " 软件4班 064196 王晖 " << endl;
cout << endl;
}
void CreateText()
{
int Re = 0;
cout << "请输入文本名"<<endl;
MyText.Lies++;
cin >> MyText.TextName[MyText.Lies][MyFile.FileRow];
for (int m=1;m<=MyText.Lies;m++)
{
for (int n=1;n<=MyText.Lies;n++)
{
if (m!=n)
{
if ( MyText.TextName[m][MyFile.FileRow]== MyText.TextName[n][MyFile.FileRow])
{
cout <<"文件名重复,请重新输入"<<endl;
cout << "请重新输入文件名"<<endl;
cin >> MyText.TextName[MyText.Lies][MyFile.FileRow];
Re = 1;
}
else
{
Re = 0;
}
}
}
}
if (Re == 0)
{
MyText.Contents[MyText.Lies][MyFile.FileRow]=1;
cout <<"请写入文本内容,以-><-结尾"<<endl;
MyFile.CurrentDir = MyText.TextName[MyText.Lies][MyFile.FileRow];
string Txt;
cin >>Txt;
/*cout <<a<<endl;*/
while (Txt!="-><-")
{
MyText.FileContents[MyText.Lies][MyFile.FileRow].push_back(Txt);
cin >>Txt;
}
cout <<"当前文件目录为"<<endl;
cout <<"MainFile/";
for (int i =1;i<=MyFile.FileRow-1;i++)
{
cout<<MyFile.FileName[MyFile.FileLie][i]<<'/';
}
//MyText.Lies++;
cout <<MyFile.CurrentDir<<"/"<<endl;
cout << "FileSystem:\\>";
cin>>Commands;
}
}
void ChangeDir()
{
cout <<"当前文件目录为"<<endl;
cout <<"MainFile/";
for (int i =1;i<=MyFile.FileRow-1;i++)
{
cout<<MyFile.FileName[MyFile.FileLie][i]<<'/';
}
cout <<endl;
cout << "FileSystem:\\>";
cin >>Commands;
}
void CreateFile()
{
TextConfig--;
cout << "请输入文件名"<<endl;
cin >> MyFile.FileName[MyFile.FileLie][MyFile.FileRow];
MyFile.CurrentDir = MyFile.FileName[MyFile.FileLie][MyFile.FileRow];
cout <<"当前文件目录为"<<endl;
cout <<"MainFile/";
for (int i =1;i<=MyFile.FileRow;i++)
{
cout<<MyFile.FileName[MyFile.FileLie][i]<<"/";
}
MyFile.FileRow++;
Te=1;
cout<<endl;
cout << "FileSystem:\\>";
cin>>Commands;
}
void CreSFile()
{
int Re = 0;
TextConfig--;
cout << "请输入文件名"<<endl;
MyFile.FileLie++;
MyFile.FileRow--;
cin >> MyFile.FileName[MyFile.FileLie][MyFile.FileRow];
/*MyFile.CurrentDir = MyFile.FileName[MyFile.FileLie][MyFile.FileRow];*/
for (int m=1;m<=MyFile.FileLie;m++)
{
for (int n=1;n<=MyFile.FileLie;n++)
{
if (m!=n)
{
if (MyFile.FileName[m][MyFile.FileRow]==MyFile.FileName[n][MyFile.FileRow])
{
cout <<"文件名重复,请重新输入"<<endl;
cout << "请重新输入文件名"<<endl;
cin >> MyFile.FileName[MyFile.FileLie][MyFile.FileRow];
Re = 1;
}
else
{
Re = 0;
}
}
}
}
if (Re == 0)
{
for (int m=1;m<=MyFile.FileRow-1;m++)
{
MyFile.FileName[MyFile.FileLie][m]= MyFile.FileName[MyFile.FileLie-1][m];
}
// MyFile.CurrentDir = MyFile.FileName[FileRow];
cout <<"当前文件目录为"<<endl;
cout <<"MainFile/";
for (int i =1;i<=MyFile.FileRow;i++)
{
cout<<MyFile.FileName[MyFile.FileLie][i]<<"/";
}
MyFile.CurrentDir = MyFile.FileName[MyFile.FileLie][MyFile.FileRow];
MyFile.FileRow++;
cout<<endl;
cout << "FileSystem:\\>";
cin>>Commands;
}
}
void DeleteFile()
{
cout <<"确定删除文件 Y/N ?"<<" "<<MyFile.CurrentDir<<endl;
char YN;
cin >> YN;
if ((YN=='Y')||(YN=='y'))
{
for (int m=MyFile.FileRow-1;m<=100;m++)
{
MyFile.FileName[MyFile.FileLie][m] = " ";
}
cout <<"当前文件目录为"<<endl;
cout <<"MainFile/";
for (int m=1;m<MyFile.FileRow-1;m++)
{
cout <<MyFile.FileName[MyFile.FileLie][m]<<"/";
}
cout <<endl;
}
cout << "FileSystem:\\>";
cin>>Commands;
}
void Helps()
{
cout << "输入-CreFile创建文件,创建后,文件目录默认为选中当前文件,如原有文件A,再创建文件B后目录为:A/B/" << endl;
cout << "输入-CreSFile创建文件,创建后,文件目录默认为选中当前文件,如原有文件MainFile/A/,再创建文件B后目录为:MainFile/B/" << endl;
cout << "输入-DelFile删除当前目录下所有文件 " << endl;
cout << "输入-CreText在当前目录下创建文本" << endl;
cout << "输入-DelText删除当前目录下文本" << endl;
cout << "输入-ShowDir查询目录文件,此处需要特别注意,比如说你新建了一个文件A,目录为MainFile/A/,此时输入-ShowDir显示的即为A下目录,显然为空,你需要先使用-ChaDir命令返回上一层以便查询目录 " << endl;
cout << "输入-ChaDir返回上一层 " << endl;
cout << "输入-SFCont显示文本内容" << endl;
cout << "输入-Help获得帮助信息"<<endl;
cout << "输入-Exit退出文件系统" << endl;
cout << "FileSystem:\\>";
cin>>Commands;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -