📄 dir.h
字号:
@函数名称: chdir
函数原型: int chdir(char *path)
函数功能: 改变当前工作目录为path
函数返回: 0:操作成功,-1:操作失败
参数说明: path-新设置的路径名称
所属文件: <dir.h>
#include <stdio.h>
#include <stdlib.h>
#include <dir.h>
char old_dir[MAXDIR];
char new_dir[MAXDIR];
int main()
{
if (getcurdir(0, old_dir))
{
perror("getcurdir()");
exit(1);
}
printf("Current directory is: \%s", old_dir);
if (chdir("\"))
{
perror("chdir()");
exit(1);
}
if (getcurdir(0, new_dir))
{
error("getcurdir()");
exit(1);
}
printf("Current directory is now: \%s", new_dir);
printf("Changing back to orignal directory: \%s", old_dir);
if (chdir(old_dir))
{
perror("chdir()");
exit(1);
}
return 0;
}
@函数名称: findfirst
函数原型: int findfirst(char *fname,struct ffblk *ptr,int attrib)
函数功能: 寻找与fname相匹配的第一个文件名称
函数返回:
参数说明: ptr-保存查找到的文件信息
所属文件: <dir.h>
#include <stdio.h>
#include <dir.h>
int main()
{
struct ffblk ffblk;
int done;
printf("Directory listing of *.*");
done=findfirst("*.*",&ffblk,0);
while (!done)
{
printf("%s", ffblk.ff_name);
done=findnext(&ffblk);
}
return 0;
}
@函数名称: findnext
函数原型: int findnext(struct ffblk *ptr)
函数功能: 寻找与fname相匹配的第一个文件名称
函数返回:
参数说明: ptr-保存要查找到的文件信息
所属文件: <dir.h>
#include <stdio.h>
#include <dir.h>
int main()
{
struct ffblk ffblk;
int done;
printf("Directory listing of *.*");
done=findfirst("*.*",&ffblk,0);
while (!done)
{
printf("%s", ffblk.ff_name);
done=findnext(&ffblk);
}
return 0;
}
@函数名称: getcurdir
函数原型: int getcurdir(int drive, char *dir)
函数功能: 得到指定驱动器上的当前工作路径
函数返回: 0-操作成功,1-操作失败
参数说明: drive-驱动器名:0-缺省,1-A驱动器,2-B驱动器,以此类推
所属文件: <dir.h>
#include <dir.h>
#include <stdio.h>
#include <string.h>
char *current_directory(char *path)
{
strcpy(path,"X:\\");
path[0]='A'+getdisk();
getcurdir(0,path+3);
return(path);
}
int main()
{
char curdir[MAXPATH];
current_directory(curdir);
printf("The current directory is %s",curdir);
return 0;
}
@函数名称: getcwd
函数原型: char *getcwd(char *dir,int len)
函数功能: 得到当前路径名称
函数返回: 指向dir的指针
参数说明: len-路径最大长度.dir-路径字符串.
所属文件: <dir.h>
#include <stdio.h>
#include <dir.h>
int main()
{
char buffer[MAXPATH];
getcwd(buffer, MAXPATH);
printf("The current directory is: %s",-buffer);
return 0;
}
@函数名称: getdisk
函数原型: int getdisk(void)
函数功能: 得到当前驱动器号
函数返回: 0-驱动器A,1-驱动器B,2-驱动器C,以此类推
参数说明:
所属文件: <dir.h>
#include <stdio.h>
#include <dir.h>
int main()
{
int disk;
disk=getdisk()+'A';
printf("The current drive is: %c",disk);
return 0;
}
@函数名称: mkdir
函数原型: int mkdir(const char *path)
函数功能: 建立名称由path指定的目录
函数返回: 0:操作成功,-1:操作失败
参数说明: path-要建立的目录名称
所属文件: <dir.h>
#include <stdio.h>
#include <conio.h>
#include <process.h>
#include <dir.h>
int main()
{
int status;
clrscr();
status=mkdir("asdfjklm");
(!status)?(printf("Directory created")):(printf("Unable to create directory"));
getch();
system("dir");
getch();
status=rmdir("asdfjklm");
(!status)?(printf("Directory deleted")):(perror("Unable to delete directory"));
return 0;
}
@函数名称: mktemp
函数原型: char *mktemp(char *temfname)
函数功能: 自动产生一个唯一的文件名
函数返回: temfname-产生的文件名称
参数说明: temfname-输入时,该指针必须先赋值为6个X的字符串
所属文件: <dir.h>
#include <dir.h>
#include <stdio.h>
int main()
{
char *fname="TXXXXXX", *ptr;
ptr=mktemp(fname);
printf("%s",ptr);
return 0;
}
@函数名称: rmdir
函数原型: int rmdir(const char *path)
函数功能: 删除一个目录
函数返回: 0:操作成功,-1:操作失败
参数说明: path-删除的目录路径
所属文件: <dir.h>
#include <stdio.h>
#include <conio.h>
#include <process.h>
#include <dir.h>
#define DIRNAME "testdir.$$$"
int main()
{
int stat;
stat=mkdir(DIRNAME);
if(!stat)
printf("Directory created");
else
{
printf("Unable to create directory");
exit(1);
}
getch();
system("dir/p");
getch();
stat=rmdir(DIRNAME);
if (!stat)
printf("Directory deleted");
else
{
perror("Unable to delete directory");
exit(1);
}
return 0;
}
@函数名称: searchpath
函数原型: char *searchpath(const char *file)
函数功能: 寻找文件的路径
函数返回: 文件的路径名称
参数说明: file-要寻找其路径的文件名称
所属文件: <dir.h>
#include <stdio.h>
#include <dir.h>
int main()
{
char *p;
p=searchpath("TLINK.EXE");
printf("Search for TLINK.EXE:%s",p);
p=searchpath("NOTEXIST.FIL");
printf("Search for NOTEXIST.FIL:%s",p);
return 0;
}
@函数名称: setdisk
函数原型: int setdisk(int drive)
函数功能: 设置当前工作驱动器
函数返回: 机器的驱动器总数
参数说明: drive-设置的驱动器号,0-A盘,1-B盘,以此类推
所属文件: <dir.h>
#include <stdio.h>
#include <dir.h>
int main()
{
int save, disk, disks;
save=getdisk();
disks=setdisk(save);
printf("%d logical drives on the system",disks);
printf("Available drives:");
for (disk=0;disk<26;++disk)
{
setdisk(disk);
if (disk==getdisk())
printf("%c: drive is available",disk+'a');
}
setdisk(save);
return 0;
}
@函数名称: fnmerge
函数原型: void fnmerge(char *path,char *drive,char *dir,char *fname,char *ext)
函数功能: 由驱动器、目录名称、文件名称和扩展名称来构造文件名
函数返回:
参数说明: drive-驱动器名,dir-目录名,fname-文件名,ext-扩展名,path-完整文件名
所属文件: <dir.h>
#include <string.h>
#include <stdio.h>
#include <dir.h>
int main()
{
char s[MAXPATH];
char drive[MAXDRIVE];
char dir[MAXDIR];
char file[MAXFILE];
char ext[MAXEXT];
getcwd(s,MAXPATH);
strcat(s,"\\");
fnsplit(s,drive,dir,file,ext);
strcpy(file,"DATA");
strcpy(ext,".TXT");
fnmerge(s,drive,dir,file,ext);
puts(s);
return 0;
}
@函数名称: fnsplit
函数原型: int fnsplit(const char *spec,char *drive,char *dir,char *fname,char *ext)
函数功能: 由文件名称path来分解为驱动器、目录名称、文件名和扩展名
函数返回: 标志常数说明哪一个部分被得到了
参数说明: spec-完整的文件名称,drive-驱动器名称,dir-目录名称,fname-文件名称,ext-扩展名
各参数字符长度上限是:80、3、66、9、5;注意要包括‘:’‘\’‘.’
所属文件: <dir.h>
#include <stdlib.h>
#include <stdio.h>
#include <dir.h>
int main()
{
char drive[MAXDRIVE];
char dir[MAXDIR];
char file[MAXFILE];
char ext[MAXEXT];
char *s;
int flags;
s=getenv("COMSPEC");
flags=fnsplit(s,drive,dir,file,ext);
printf("Command processor info:\n");
if(flags & DRIVE)
printf("\tdrive: %s\n",drive);
if(flags & DIRECTORY)
printf("\tdirectory: %s\n",dir);
if(flags & FILENAME)
printf("\tfile: %s\n",file);
if(flags & EXTENSION)
printf("\textension: %s\n",ext);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -