卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章21366本站已运行3413

如何使用C或C++获取目录中的文件列表?

如何使用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("%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
卓越飞翔博客
上一篇: c语言中null和NULL的区别是什么
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏