#include <iostream>
#include <dirent.h>
#include <vector>
#include <iterator>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
int times = 0;
DIR *dp;
struct dirent *dirp;
vector<string> filename;
vector<string>::iterator iter;
if( (dp=opendir("./XML") )==NULL ) //打开目录,此处表示当前路径下的目录XML
cout<<"open dir error!\n";
while( (dirp=readdir(dp) )!=NULL ) //逐个读取目录下的文件
{
if(dirp->d_name[0] == '.') // ll -a 命令查看目录会发现,Linux下会有两个无效的目录./ 和 ../,需要进行过滤
{
continue;
}
filename.push_back(dirp->d_name); //将读取到的文件名,存储在dirp->d_name,存入容器filename中
times++;
}
cout<<"times = "<<times<<endl;
for(iter = filename.begin(); iter != filename.end(); iter++)
{
cout<<*iter<<endl;
}
closedir(dp); //关闭目录,与opendir成对出现
return 0;
}
#include <dirent.h>
#include <vector>
#include <iterator>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
int times = 0;
DIR *dp;
struct dirent *dirp;
vector<string> filename;
vector<string>::iterator iter;
if( (dp=opendir("./XML") )==NULL ) //打开目录,此处表示当前路径下的目录XML
cout<<"open dir error!\n";
while( (dirp=readdir(dp) )!=NULL ) //逐个读取目录下的文件
{
if(dirp->d_name[0] == '.') // ll -a 命令查看目录会发现,Linux下会有两个无效的目录./ 和 ../,需要进行过滤
{
continue;
}
filename.push_back(dirp->d_name); //将读取到的文件名,存储在dirp->d_name,存入容器filename中
times++;
}
cout<<"times = "<<times<<endl;
for(iter = filename.begin(); iter != filename.end(); iter++)
{
cout<<*iter<<endl;
}
closedir(dp); //关闭目录,与opendir成对出现
return 0;
}