小佳弱弱学习——unix环境高级编程(二)

来源:互联网 发布:java volatile 编辑:程序博客网 时间:2024/04/29 21:15
  1. #include "apue.h"
  2. #include <dirent.h>

  3. int
  4. main(int argc, char *argv[])
  5. {
  6.     DIR             *dp;
  7.     struct dirent   *dirp;

  8.     if (argc != 2)
  9.         err_quit("usage: ls directory_name");

  10.     if ((dp = opendir(argv[1])) == NULL)
  11.         err_sys("can't open %s", argv[1]);
  12.     while ((dirp = readdir(dp)) != NULL)
  13.         printf("%s/n", dirp->d_name);

  14.     closedir(dp);
  15.     exit(0);
  16. }
apue中fig1.3内容
DIR是一个目录信息的结构体,dirent也是一个linux文件类型的结构体,他可以是执行文件也可以是只想文件目录。
第13行,打开一个目录,将值返回给dp这个DIR类型指针。如果路径是正确的,那么返回非空。
第15行,读取dp目录下的文件或者是文件夹,如果读到将这个目录输出,然后自动会读取下一个文件。
第18行,关闭dp,结束对argv[1]目录的读取。

原创粉丝点击