linux C语言函数API-- 目录函数

三:目录函数

1.opendir函数

【原型】    DIR *opendir(const char *name);
【功能】    打开目录以获得目录指针
【头文件】 #include <sys/types.h>
            #inlcude <dirent.h>
【参数】    name :目录名
【返回值】 成功: 目录指针  失败NULL


代码演示:

int n,n1;
    DIR *dp = opendir("./abc");         //打开一个文件也同时赋值了一个文件描述符
    n = open("./abc/2.txt",O_RDWR);     //打开这个文件夹里的一个文件,则文件描述符为4
    printf("%d\n",n);
    close(n);
    closedir(dp);
    n = open("./abc/2.txt",O_RDWR);     //现在关闭了文件夹abc,则里面的文件描述符为3
    printf("%d\n",n);
    close(n);

2.readdir函数

【原型】    struct dirent *readdir(DIR *dirp);
【功能】    读取目录项
【头文件】 #include <dirent.h>
【参数】    dirp:读取目录项的目录指针
【返回值】 成功 : 目录项指针  失败: NULL

【目录项结构体】

struct dirent
{
    ino_t d_ino;        //文件索引号
    off_t d_off;        //目录偏移量
    unsigned short d_reclen;    //该目录项大小
    unsigned char d_type;   //文件类型
    char d_name[256];       //文件名
    
}; 

3. chdir函数

【原型】    chdir(const char *path);
【功能】    切换目录,改变当前正在运行的进程的绝对工作路径。
【参数】		目录路径
【头文件】 #include <unistd.h>
【返回值】 成功 0 失败 -1

代码演示:

int n,n1;
    DIR *dp = opendir("./abc");         //打开一个文件也同时赋值了一个文件描述符
    system("pwd");
    chdir("./Node");                    //切换到Node文件目录
   
    system("pwd");
---------------------------------------------------------------------------------

4.rewinddir函数

【原型】    rewinddir(DIR *dirp);
【功能】    重置目录流指针
【头文件】     #include <sys/types.h> , #include <dirent.h>
【参数】    dirp :目录流指针
【返回值】     无

代码演示:

DIR *dp = opendir("./abc");
    printf("%p\n",dp);
    rewinddir(dp);          //重置目录流指针

___________________________________________________________________________

5. mkdir()创建目录

    【函数原型】  int mkdir(const char *path, mode_t mode);
    【头文件】     #include <sys/stat.h>
    【参数】        path:指定路径名
                    mode: 权限
    【返回值】 成功0  失败-1

发布了14 篇原创文章 · 获赞 19 · 访问量 4248
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览