如何使用 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP