8.7文件io目录

1.目录操作

     打开目录:
使用opendir()函数,传入目录名作为参数,成功时返回一个DIR*类型的目录流指针,失败时返回NULL。
     读取目录:
使用readdir()函数,传入目录流指针作为参数,成功时返回一个指向dirent结构体的指针,该结构体包含了文件的信息(如文件名)。到达目录末尾或出错时返回NULL。
     关闭目录:
使用closedir()函数,传入目录流指针作为参数,成功时返回0,失败时返回-1。

2.函数

1. opendir
 DIR *opendir(const char *name);

功能:打开一个目录流,以便可以读取目录内容。
参数:name(const char *)- 要打开的目录的路径。
返回值:成功时返回一个指向DIR类型的指针,失败时返回NULL。
2. readdir
 struct dirent *readdir(DIR *dirp);

功能:从opendir返回的目录流中读取一个目录项。
参数:dirp(DIR *)- 之前通过opendir获得的目录流指针。
返回值:成功时返回一个指向struct dirent的指针,该结构体包含了目录项的信息(如文件名)。如果到达目录末尾或出错,则返回NULL。
3. closedir
int closedir(DIR *dirp);

功能:关闭一个通过opendir打开的目录流。
参数:dirp(DIR *)- 要关闭的目录流指针。
返回值:成功时返回0,失败时返回-1。
4. chdir
int chdir(const char *path);

功能:改变当前进程的工作目录。
参数:path(const char *)- 新的工作目录路径。
返回值:成功时返回0,失败时返回-1。
5. getcwd
 char *getcwd(char *buf, size_t size);

功能:获取当前工作目录的绝对路径。
参数:buf(char *)- 用于存储路径的缓冲区,size(size_t)- 缓冲区的大小。
返回值:成功时返回指向buf的指针,失败时返回NULL。
6. mkdir
  int mkdir(const char *pathname, mode_t mode);

功能:创建一个新目录。
参数:pathname(const char *)- 要创建的目录的路径,mode(mode_t)- 目录的权限。注意,实际权限还会受到umask的影响。
返回值:成功时返回0,失败时返回-1。
7. rmdir
  int rmdir(const char *pathname);

功能:删除一个空目录。
参数:pathname(const char *)- 要删除的目录的路径。
返回值:成功时返回0,失败时返回-1。
8. stat
 int stat(const char *pathname, struct stat *statbuf);

功能:获取文件或目录的状态信息。
参数:path(const char *)- 文件或目录的路径,buf(struct stat *)- 用于存储状态信息的结构体。
返回值:成功时返回0,失败时返回-1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值