📄 xinjian.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 + -