Getting a list of files in a directory using C++ in windows
从这里搬运过来的
搜了好多CSDN上面的,都是复制来复制去(我的也是复制到的,哈哈),总是报错
。。。
#include <string>
#include <vector>
#include <iostream>
using namespace std;
void getDir(const char* d, vector<string> & f)
{
FILE* pipe = NULL;
string pCmd = "dir /B /S " + string(d);
char buf[256];
if( NULL == (pipe = _popen(pCmd.c_str(),"rt")))
{
cout<<"Shit"<<endl;
return;
}
while (!feof(pipe))
{
if(fgets(buf,256,pipe) != NULL)
{
f.push_back(string(buf));
}
}
_pclose(pipe);
}
int main(int argc, char* argv[])
{
vector<string> files;
getDir("C:\\", files);
vector<string>::const_iterator it = files.begin();
cout<<"Printing Dir"<<endl;
while( it != files.end())
{
cout<<*it<<endl;
it++;
}
return 0;
}