博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
opendir 、closedir 、readdir 目录函数
阅读量:4298 次
发布时间:2019-05-27

本文共 1404 字,大约阅读时间需要 4 分钟。

opendir和closedir目录

1、open和close函数用于打开关闭文件,这里介绍的opendir和closedir用于打开目录,相当于ls命令。

2、man 3 opendir

3、DIR *opendir(const char *name);

     –参数:目录的路径。
     –返回值:成功返回指向目录流的指针,错误返回NULL
4、int closedir(DIR *dirp);
     –参数:opendir 返回的dir 指针
     –返回值:成功返回0, 失败返回-1

readdir读取目录信息

1、使用opendir打开目录的基础上,可以使用readdir读取目录信息

2、man 3 readdir

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 */};

3、读目录信息函数

     • struct dirent *readdir(DIR *dirp);
     –参数dirp:opendir 函数打开目录后返回的文件指针。
     –返回值:成功返回指向dirp 的指针dirent ,错误返回NULL。

例:

#include 
//opendir,closedir,readdir函数头文件#include
#include
int main(int argc,char *argv[]){ int ret; DIR *dir; struct dirent *catlog;//检测参数 if(argc <2){ printf("\nPlease input file path\n"); return 1; }//使用opendir函数打开目录 dir = opendir(argv[1]); if(dir==NULL){ printf("opendir %s failed!\n",argv[1]); return 1; } printf("opendir %s suceces!\n",argv[1]);//使用readdir读取目录argv[1] catlog = readdir(dir); if(catlog == NULL){ printf("readdir %s failed!\n",argv[1]); return 1; } printf("%s d_ino is %ld\n ",argv[1],catlog->d_ino);//使用closedir函数关闭目录 closedir(dir); return 0;}

转载地址:http://jynws.baihongyu.com/

你可能感兴趣的文章
VC调用Matlab生成的c
查看>>
Matlab生成exe文件
查看>>
VC调用exe文件
查看>>
《C陷阱与缺陷》读书笔记
查看>>
相同程序不同进程下实现数据共享
查看>>
不同进程通过共享内存实现数据共享
查看>>
C++之POD数据类型
查看>>
C++中的struct与class
查看>>
C++之const关键字
查看>>
C++之函数返回指针
查看>>
C++之extern关键字
查看>>
C++之static关键字[转]
查看>>
类中成员函数的重载、覆盖与隐藏[转]
查看>>
C++之this指针
查看>>
C++之引用类型
查看>>
C++之virtual关键字
查看>>
C++之强制转换运算符[转]
查看>>
text段、data段、bss段、堆和栈
查看>>
OSI七层网络模型
查看>>
TCP协议
查看>>