first progress

can't do much beside print out all files and folder
out to the console
This commit is contained in:
AustrianToast 2024-02-14 00:12:50 +01:00
parent a69bf01271
commit 74425df83e
No known key found for this signature in database
GPG Key ID: 5CD422268E489EB4
3 changed files with 46 additions and 0 deletions

33
fs_reader.cpp Normal file
View File

@ -0,0 +1,33 @@
#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) = {};
}

6
fs_reader.h Normal file
View File

@ -0,0 +1,6 @@
#include <string>
#include <vector>
std::vector<std::string> find_all_files(std::string filesystem_path);
std::vector<std::string> find_all_folders(std::string filesystem_path);
std::vector<std::string> find_all_files_and_folders(std::string filesystem_path);

7
main.cpp Normal file
View File

@ -0,0 +1,7 @@
#include <iostream>
#include "fs_reader.h"
int main(int argc, char *argv[]) {
(void)find_all_files_and_folders(argv[1]);
return 0;
}