#include <iostream>
#include <dirent.h>
#include <vector>
// To Build: gcc -std=c++11 dir_list.cc -lstdc++ -o dir_list
int getdir (std::string dir, std::vector<std::string> &files)
{
DIR *dp;
struct dirent *dirp;
if((dp = opendir(dir.c_str())) == NULL) {
std::cout << "Error(" << errno << ") opening " << dir << std::endl;
return errno;
}
while ((dirp = readdir(dp)) != NULL) {
files.push_back(std::string(dirp->d_name));
}
closedir(dp);
return 0;
}
int main(){
std::string dir = std::string(".");
std::vector<std::string> files = std::vector<std::string>();
getdir(dir,files);
for (unsigned int i = 0;i < files.size();i++) {
std::cout << files[i] << std::endl;
}
}