⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dir.h

📁 C语言库函数介绍
💻 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 + -