diff options
Diffstat (limited to 'xmrstak/misc/configEditor.hpp')
-rw-r--r-- | xmrstak/misc/configEditor.hpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/xmrstak/misc/configEditor.hpp b/xmrstak/misc/configEditor.hpp new file mode 100644 index 0000000..80607ff --- /dev/null +++ b/xmrstak/misc/configEditor.hpp @@ -0,0 +1,57 @@ +#pragma once + +#include <atomic> +#include <string> +#include <fstream> +#include <streambuf> +#include <regex> + + +namespace xmrstak +{ + +struct ConfigEditor +{ + std::string m_fileContent; + + ConfigEditor() + { + + } + + static bool file_exist( const std::string filename) + { + std::ifstream fstream(filename); + return fstream.good(); + } + + void set( const std::string && content) + { + m_fileContent = content; + } + + bool load(const std::string filename) + { + std::ifstream fstream(filename); + m_fileContent = std::string( + (std::istreambuf_iterator<char>(fstream)), + std::istreambuf_iterator<char>() + ); + return fstream.good(); + } + + void write(const std::string filename) + { + std::ofstream out(filename); + out << m_fileContent; + out.close(); + } + + void replace(const std::string search, const std::string substring) + { + m_fileContent = std::regex_replace(m_fileContent, std::regex(search), substring); + } + +}; + +} // namepsace xmrstak |