調用系統函數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;
- }