summaryrefslogtreecommitdiff
path: root/graphs/cpp/directories_infos/main_example.cc
diff options
context:
space:
mode:
Diffstat (limited to 'graphs/cpp/directories_infos/main_example.cc')
-rw-r--r--graphs/cpp/directories_infos/main_example.cc32
1 files changed, 32 insertions, 0 deletions
diff --git a/graphs/cpp/directories_infos/main_example.cc b/graphs/cpp/directories_infos/main_example.cc
new file mode 100644
index 0000000..db4bfa0
--- /dev/null
+++ b/graphs/cpp/directories_infos/main_example.cc
@@ -0,0 +1,32 @@
+#include <fstream>
+#include <iomanip>
+#include <iostream>
+
+#include "directory_info.hh"
+#include "read_info.hh"
+
+int main(int argc, char** argv)
+{
+ if (argc < 2)
+ return 1;
+
+ auto file = std::ifstream(argv[1]);
+
+ DirectoryInfo dir_info;
+
+ while ((dir_info = read_info(file)).is_valid())
+ {
+ std::stringstream str_stream;
+ str_stream << dir_info.get_name() << ' ' << dir_info.get_size() << ' '
+ << std::oct << dir_info.get_rights() << std::dec << ' '
+ << dir_info.get_owner() << '\n';
+
+ dir_info = read_info(str_stream);
+ if (!dir_info.is_valid())
+ break;
+
+ std::cout << dir_info.get_name() << '|' << dir_info.get_size() << '|'
+ << std::oct << dir_info.get_rights() << std::dec << '|'
+ << dir_info.get_owner() << '\n';
+ }
+}