34 lines
1.3 KiB
C++
34 lines
1.3 KiB
C++
|
#include <string>
|
||
|
#include <vector>
|
||
|
#include <iostream>
|
||
|
#include <filesystem>
|
||
|
namespace fs = std::filesystem;
|
||
|
|
||
|
// from the provided path, find all files and folders
|
||
|
// This is done by finding all the files and folders in the starting dir
|
||
|
// If a dir was found, then go into it, then find all files and folders in there
|
||
|
// Rinse and Repeat
|
||
|
|
||
|
// Avoid recursion if possible
|
||
|
std::vector<std::string> find_all_files(std::string filesystem_path) {
|
||
|
for (const auto & entry : fs::directory_iterator(filesystem_path)) {
|
||
|
std::cout << entry.path() << "\n";
|
||
|
}
|
||
|
return std::vector<std::string>(0) = {};
|
||
|
}
|
||
|
|
||
|
std::vector<std::string> find_all_folders(std::string filesystem_path) {
|
||
|
return std::vector<std::string>(0) = {};
|
||
|
}
|
||
|
|
||
|
std::vector<std::string> find_all_files_and_folders(std::string filesystem_path) {
|
||
|
std::vector<std::string> files = find_all_files(filesystem_path);
|
||
|
std::vector<std::string> folders = find_all_folders(filesystem_path);
|
||
|
std::vector<std::string> files_and_folders = {};
|
||
|
files_and_folders.reserve(files.size() + folders.size());
|
||
|
files_and_folders.insert( files_and_folders.end(), files.begin(), files.end() );
|
||
|
files_and_folders.insert( files_and_folders.end(), folders.begin(), folders.end() );
|
||
|
|
||
|
return std::vector<std::string>(0) = {};
|
||
|
}
|