zoukankan      html  css  js  c++  java
  • UNIX目录访问操作

    1、目录访问相关函数:

      DIR* opendir (const char * path );
      struct dirent* readdir(DIR *dirptr) ;参数是一个指向dirent 结构的指针。DIR是目录指针,读取一个目录,读取完毕返回一个空指针。
      int closedir(DIR *dirptr);

    2、目录信息结构体如下所示:

    struct dirent
    {
        long d_ino;  //inode number  i结点号码
        off_t d_off; //偏移(当前文件在目录中的偏移位置)
        unsigned short d_reclen; //文件名称的长度
        char d_name[NAME_MAX+1]; //filename 文件名称
    }
    示例:实现一个小型ls简单程序:

     1 #include <sys/types.h>
     2 #include <sys/stat.h>
     3 #include <fcntl.h>
     4 #include<errno.h>
     5 #include<unistd.h>
     6 #include<stdio.h>
     7 #include<stdlib.h>
     8 #include<string.h>
     9 #include<dirent.h>
    10 //#define ERR_EXIT(m)  (perror(m),exit(EXIT_FAILURE))
    11 #define ERR_EXIT(m)
    12     do
    13     {
    14         perror(m);
    15         exit(EXIT_FAILURE);
    16     }while(0)  //宏要求一条语句
    17 int main(void)
    18 {
    19     DIR *dir;
    20     //opendir()打开一个路径
    21     if((dir=opendir("."))==NULL)//打开当前目录
    22         ERR_EXIT("opendir error");
    23     struct dirent *de;
    24     while((de=readdir(dir))!=NULL)
    25     {
    26         if(strncmp(de->d_name,".",1)==0)  //隐藏文件.和..  第一个字符是点号隐藏
    27             continue;
    28         printf("%s
    ",de->d_name);
    29     }
    30     closedir(dir);
    31     exit(EXIT_SUCCESS);
    32     return 0;
    33 }



  • 相关阅读:
    转:深入 AngularUI Router
    angularJS $scope的$apply方法实现model刷新
    CSS 如何让 height:100%; 起作用
    【AngularJs】---$sce 输出Html
    angular 组件之间传值
    kendo Grid 列添加自定义模板
    关于“内控点”
    关于总结
    咏春
    一只老鼠夹
  • 原文地址:https://www.cnblogs.com/wsw-seu/p/8280625.html
Copyright © 2011-2022 走看看