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……,这样,文件名中就会有变量,怎么解决呢