如何使用 C 或 C++ 获取目录中文件的列表?
让我们考虑以下 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("%s\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
广告