让我们考虑以下 C++ 示例代码来获取目录中的文件列表。
算法
Begin
Declare a poniter dr to the DIR type.
Declare another pointer en of the dirent structure.
Call opendir() function to open all file in present directory.
Initialize dr pointer as dr = opendir(".").
If(dr)
while ((en = readdir(dr)) != NULL)
print all the file name using en->d_name.
call closedir() function to close the directory.
End.
示例
#include <iostream>
#include <dirent.h>
#include <sys/types.h>
using namespace std;
int main(void) {
DIR *dr;
struct dirent *en;
dr = opendir("."); //open all directory
if (dr) {
while ((en = readdir(dr)) != NULL) {
cout<<" n"<<en->d_name; //print all directory name
}
closedir(dr); //close all directory
}
return(0);
}
输出
BINSEARC.C
BINTREE (1).C
BINTREE.C
BTREE.C
BUBBLE.C
c.txt
file3.txt
HEAP.C
HEAPSORT.C
HLINKLST.C
INSERTIO.C
LINKLIST.C
LINKLST.C
LLIST1.C
players.cpp
PolarRect.cpp
QUEUE.C
示例
#include <stdio.h>
#include <dirent.h>
int main(void) {
DIR *dr;
struct dirent *en;
dr = opendir("."); //open all or present directory
if (dr) {
while ((en = readdir(dr)) != NULL) {
printf("%sn", en->d_name); //print all directory name
}
closedir(dr); //close all directory
}
return(0);
}
输出
BINSEARC.C
BINTREE (1).C
BINTREE.C
BTREE.C
BUBBLE.C
c.txt
file3.txt
HEAP.C
HEAPSORT.C
HLINKLST.C
INSERTIO.C
LINKLIST.C
LINKLST.C
LLIST1.C