调用系统函数opendir()和readdir来实现遍历Linux/Unix下的某个指定目录下的所有文件,并输出文件名。
实现代码如下:
- /*
- Author: ACb0y
- FileName: main.cpp
- Create Time: 2011年8月1日0:41:18
- Version: V1.0
- www.linuxidc.com
- */
- #include <iostream>
- #include “apue.h”
- #include <dirent.h>
- using namespace std;
- int main(int argc, char * argv[])
- {
- DIR *dp;
- struct dirent *dirp;
- if (argc != 2)
- {
- err_quit(“Usage: ls directory_name”);
- }
- //打开指定的目录
- if ((dp = opendir(argv[1])) == NULL)
- {
- err_sys(“can’t open %s”, argv[1]);
- }
- //遍历目录
- while ((dirp = readdir(dp)) != NULL)
- {
- printf(“%s\n”, dirp->d_name);
- }
- //关闭目录
- closedir(dp);
- return 0;
- }