目录操作函数(mkdir rmdir rename chdir getcwd opendir closedir readdir dup dup2)

发布时间 2023-04-25 12:18:38作者: WTSRUVF

 

 

/*
    创建文件
        #include <sys/stat.h>
        #include <sys/types.h>

        int mkdir(const char *pathname, mode_t mode);
            参数:
                mode:权限

    移除文件
        #include <unistd.h>

        int rmdir(const char *pathname);
    
    文件重命名
        #include <stdio.h>

        int rename(const char *oldpath, const char *newpath);

    将调用进程的当前工作目录更改为path中指定的目录。
        #include <unistd.h>

        int chdir(const char *path);

    获取当前工作目录
       #include <unistd.h>

       char *getcwd(char *buf, size_t size);
        参数: 
            buf:存储缓冲区
            size:缓冲区大小

*/


// 目录遍历函数
/*
    打开目录
        #include <sys/types.h>
        #include <dirent.h>

        DIR *opendir(const char *name);
            参数:
                name:目录地址
            返回值:
                成功:指向目录流的指针
                失败:NULL
               #include <dirent.h>

    读取目录
        #include <dirent.h>
        struct dirent *readdir(DIR *dirp);
            参数:指向目录流的指针,由opendir提供
            返回值:
                指向目录结构的指针
    
    关闭目录
        #include <sys/types.h>

        #include <dirent.h>

        int closedir(DIR *dirp);   

*/

/*
    dup与dup2,复制文件描述符,旧的和新的均指向同一文件,只是文件描述符不同
        #include <unistd.h>

    使用最低未使用的编号作为新的文件描述符
        int dup(int oldfd);
    使用指定编号
        int dup2(int oldfd, int newfd);

        返回值:
            成功:新的文件描述符
            失败: -1



*/