C++ 读取一个文件下所有文件的文件名

Posted sinicheveen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 读取一个文件下所有文件的文件名相关的知识,希望对你有一定的参考价值。

Windows:

#include<iostream>
#include<string>
#include <io.h>
void readFileNameInDir(IN string strDir, INOUT vector<string>& vFileFullPath)
{
       long handle;    //文件句柄
       struct _finddata_t fileInfo;    //文件结构体
       handle = _findfirst(strDir.c_str(), &fileInfo);    //第一次查找,获取文件句柄
       while (!_findnext(handle, &fileInfo))
       {
              vFileFullPath.push_back(fileInfo.name)
       }
       _findclose(handle);
}    //readFileNameInDir()

Linux:

#include <string>
#include <vector>
#include <dirent.h>

void readFileNameInDir(IN string strDir, INOUT vector<string>& vFileFullPath)
{
       struct dirent* pDirent;
       DIR* pDir = opendir(strDir.c_str());
       if (pDir != NULL)
       {
              while ((pDirent = readdir(pDir)) != NULL)
              {
                     string strFileName = pDirent->d_name;
                     string strFileFullPath = strDir + "/" + strFileName;
                     vFileFullPath.push_back(strFileFullPath);
              }
              vFileFullPath.erase(vFileFullPath.begin(), vFileFullPath.begin() +  2);    //前两个存储的是当前路径和上一级路径,所以要删除
       }
}    //readFileNameInDir()

以上是关于C++ 读取一个文件下所有文件的文件名的主要内容,如果未能解决你的问题,请参考以下文章

C++中,读取一系列文件,文件名为1,2,3……,这样,文件名中就会有变量,怎么解决呢

QT 读取文件夹下所有文件(超级简单的方法,不需要QDirIterator)

在虚拟机上运行的 C++ 多线程文件读取问题

在c++中怎么实现TXT文件查找和读取

PHP读取目录下所有文件

如何在 C++ 中将文本文件输入转换为数组