From 407b360a50c22fc1aad5190aec6c26288e1eca1e Mon Sep 17 00:00:00 2001 From: Tanvir Ahmed Anas Date: Wed, 24 Jan 2024 18:13:54 +0400 Subject: [PATCH] feat(ConfigParser): - readFile reads json file and removes spaces, tabs, newlines, carriage returns - parseJSON prints text from json file --- parser/ConfigParser.cpp | 17 +++++++++++++---- parser/ConfigParser.hpp | 1 + 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/parser/ConfigParser.cpp b/parser/ConfigParser.cpp index 4adba24..fde76f8 100644 --- a/parser/ConfigParser.cpp +++ b/parser/ConfigParser.cpp @@ -4,17 +4,26 @@ ConfigParser::ConfigParser() {} ConfigParser::~ConfigParser() {} -void ConfigParser::parseJSON(std::string file) { - std::cout << "Parsing config file: " << file << std::endl; +void ConfigParser::readFile(const std::string& filepath, std::string& output) { + std::cout << "Reading config file: " << filepath << std::endl; - std::ifstream inputFileStream(file.c_str()); + std::ifstream inputFileStream(filepath.c_str()); if (inputFileStream.fail()) { std::cerr << ERR_OPEN << std::endl; exit(1); } std::string line; while (std::getline(inputFileStream, line)) { - std::cout << line << std::endl; + line.erase(remove_if(line.begin(), line.end(), isspace), line.end()); + if (line.empty()) + continue; + output.append(line); } inputFileStream.close(); +} + +void ConfigParser::parseJSON(const std::string file) { + std::string json; + readFile(file, json); + std::cout << json; } \ No newline at end of file diff --git a/parser/ConfigParser.hpp b/parser/ConfigParser.hpp index 2f0ea42..00bd072 100644 --- a/parser/ConfigParser.hpp +++ b/parser/ConfigParser.hpp @@ -12,6 +12,7 @@ class ConfigParser { private: ConfigParser(); + static void readFile(const std::string& filepath, std::string& output); }; #endif // CONFIG_PARSER_HPP \ No newline at end of file