From 74425df83e7e34f6fb227d74e81714c942685076 Mon Sep 17 00:00:00 2001 From: AustrianToast Date: Wed, 14 Feb 2024 00:12:50 +0100 Subject: [PATCH] first progress can't do much beside print out all files and folder out to the console --- fs_reader.cpp | 33 +++++++++++++++++++++++++++++++++ fs_reader.h | 6 ++++++ main.cpp | 7 +++++++ 3 files changed, 46 insertions(+) create mode 100644 fs_reader.cpp create mode 100644 fs_reader.h create mode 100644 main.cpp diff --git a/fs_reader.cpp b/fs_reader.cpp new file mode 100644 index 0000000..a8683d5 --- /dev/null +++ b/fs_reader.cpp @@ -0,0 +1,33 @@ +#include +#include +#include +#include +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 find_all_files(std::string filesystem_path) { + for (const auto & entry : fs::directory_iterator(filesystem_path)) { + std::cout << entry.path() << "\n"; + } + return std::vector(0) = {}; +} + +std::vector find_all_folders(std::string filesystem_path) { + return std::vector(0) = {}; +} + +std::vector find_all_files_and_folders(std::string filesystem_path) { + std::vector files = find_all_files(filesystem_path); + std::vector folders = find_all_folders(filesystem_path); + std::vector 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(0) = {}; +} diff --git a/fs_reader.h b/fs_reader.h new file mode 100644 index 0000000..d7af628 --- /dev/null +++ b/fs_reader.h @@ -0,0 +1,6 @@ +#include +#include + +std::vector find_all_files(std::string filesystem_path); +std::vector find_all_folders(std::string filesystem_path); +std::vector find_all_files_and_folders(std::string filesystem_path); \ No newline at end of file diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..0bc97a5 --- /dev/null +++ b/main.cpp @@ -0,0 +1,7 @@ +#include +#include "fs_reader.h" + +int main(int argc, char *argv[]) { + (void)find_all_files_and_folders(argv[1]); + return 0; +} \ No newline at end of file