• <tr id='wivk2'><strong id='wivk2'></strong><small id='wivk2'></small><button id='wivk2'></button><li id='wivk2'><noscript id='wivk2'><big id='wivk2'></big><dt id='wivk2'></dt></noscript></li></tr><ol id='wivk2'><table id='wivk2'><blockquote id='wivk2'><tbody id='wivk2'></tbody></blockquote></table></ol><u id='wivk2'></u><kbd id='wivk2'><kbd id='wivk2'></kbd></kbd>

      <code id='wivk2'><strong id='wivk2'></strong></code>

      <i id='wivk2'><div id='wivk2'><ins id='wivk2'></ins></div></i>

      1. <span id='wivk2'></span>
        <i id='wivk2'></i>
        <fieldset id='wivk2'></fieldset>

          <dl id='wivk2'></dl>
          <acronym id='wivk2'><em id='wivk2'></em><td id='wivk2'><div id='wivk2'></div></td></acronym><address id='wivk2'><big id='wivk2'><big id='wivk2'></big><legend id='wivk2'></legend></big></address>

          <ins id='wivk2'></ins>

            Linux操作系统中读取目录文件信息的过程分析

            • 时间:
            • 浏览:9
            • 来源:124软件资讯网

                大致流程:

                1.添加头文件 dirent.h

                声明结构体指针 struct dirent * ptr;

                声明一个dir指针 DIR * fd;

                2.剖析下令行

                3.打开目录文件

                使用opendir()参数为剖析下令行的第二个参数 argv[1]  ,返回目录文件指针值赋给 fd

                4.输出重定向

                使用freopen()参数为剖析下令行第三个参数 argv[2]、权限"w+"、文件形貌符stdtout

                5.最先读取目录文件内容

                使用循环 while((ptr=readdir(fd))!=NULL)  ,readdir()每次从目录文件中提取一个文件项目,指针前移  。直至到文件末尾返回NULL值  。ptr指针指向readdir()返回的dirent 结构体  ,每次函数挪用返回的效果差别 dirent中的成员内容差别  ,其中d_name成员的值为每次读取到的目录中的文件名称  。使用周周给的原来mstat.c中的获得文件信息代码将 ptr->d_name做fopen()、fstat()的参数  ,即可打印出目录中所有文件的信息并存入输出文件中  。

                6.关闭所有文件及目录文件指针  。