您的位置:首页 > 运维架构 > Linux

linux下目录的操作

2016-07-21 17:14 375 查看
使用系统函数:opendir、mkdir、readdir、mkdir对目录进行操作

头文件:
#include <sys/types.h>
#include <dirent.h>

1、打开目录 opendir
     
形式:
DIR * opendir(const char * name);
DIR * fopendir(int fd);

返回值:
文件夹不存在,返回NULL,存在返回DIR * dir;

2.读目录readdir
形式:struct dirent * dirp = readdir( dir );
struct dirent
{
     long                      d_info;             //索引节点号
     off_t                     d_off;               //在目录文件中的偏移
     unsigned short     d_reclen;          //文件名长
     char                     d_name[255];   //文件名
};

3.关闭目录closedir
closedir(DIR * dir);

4.创建目录mkdir
int fd = mkdir("dir_path", mod_t mod); 
例:
创建名为my_dir的目录,权限为所有用户(组)均可读、写、操作
if(NULL != (dir = opendir("./my_dir")))
{
     int fd = mkdir("./my_dir", 0755);
     if(fd == -1)
     {
          perror("create my_dir failt\n");
     }
}

实例:
#include <sys/types.h>
#include <dirent.h>
#include <stdio.h>

int main(void)
{
     DIR * dp;
     struct dirent *dirp;

     dp = opendir("./");
     if( dp == NULL)
     {
          perror("opendir\n");
          return -1;
     }
     
     while(NULL != (dirp = readdir(dp)))
      {
           printf("filename = %s\n", dirp->d_name);
      }  

     closedir(dp);

     return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: