Unix C学习之文件夹操作
-
文件夹的内容:文件夹的内容就是文件夹里的文件或文件夹
-
文件夹的权限:r读 w写 x可通过
-
DIR *opendir(const char *name);
#include
#include
功能:打开一个文件夹
参数: name 指定要打开的文件夹的名字
返回值:错误 NULL errno被设置 成功 返回一个指向文件夹流的指针 -
int closedir(DIR *dirp);
#include
#include
功能:关闭文件夹流
参数: dirp 指定文件夹流 也就是要关闭的文件夹流
返回值:成功 0 错误 -1 errno被设置 -
struct dirent * readdir(DIR *dirp);
#include
功能:从文件夹流中读取一条信息
参数: 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#define E_MSG(STR,VAL) do{\perror(STR);\return (VAL);\}while(0) #endif #include#include #include #include 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; }
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
