-
文件夹的内容:文件夹的内容就是文件夹里的文件或文件夹
-
文件夹的权限:r读 w写 x可通过
-
DIR *opendir(const char *name);
#include <sys/types.h>
#include <dirent.h>
功能:打开一个文件夹
参数: name 指定要打开的文件夹的名字
返回值:错误 NULL errno被设置 成功 返回一个指向文件夹流的指针 -
int closedir(DIR *dirp);
#include <sys/types.h>
#include <dirent.h>
功能:关闭文件夹流
参数: dirp 指定文件夹流 也就是要关闭的文件夹流
返回值:成功 0 错误 -1 errno被设置 -
struct dirent * readdir(DIR *dirp);
#include <dirent.h>
功能:从文件夹流中读取一条信息
参数: dirp 指定了文件夹流
返回值: NULL 到达文件夹的末尾或者错误发生 如果是错误发生 errno被设置
结构体说明
struct dirent { ino_t d_ino; /* inode number */ off_t d_off; /* not an offset; see NOTES */ unsigned short d_reclen; /* length of this record */ unsigned char d_type; /* type of file; not supported by all filesystem types */ char d_name[256]; /* filename */ };
#ifndef __T_STDIO_H__ #define __T_STDIO_H__ #include <stdio.h> #define E_MSG(STR,VAL) do{\ perror(STR);\ return (VAL);\ }while(0) #endif
#include <t_stdio.h> #include <sys/types.h> #include <dirent.h> #include <errno.h> int main(int argc, char *argv[]){ //打开文件夹 DIR *dir = opendir(argv[1]); if(!dir) E_MSG("opendir", -1); printf("opendir success... \n"); //从文件夹流中读取一条信息 struct dirent *item = NULL; while((item=readdir(dir))){ printf("filename:%s\tinode:%lu\n", item->d_name, item->d_ino); } //关闭文件夹流 closedir(dir); return 0; }
Unix C学习之文件夹操作
最新推荐文章于 2022-09-05 16:03:03 发布