diff --git a/NothinFancy/CMakeLists.txt b/NothinFancy/CMakeLists.txt index ab4e473..2092595 100644 --- a/NothinFancy/CMakeLists.txt +++ b/NothinFancy/CMakeLists.txt @@ -1,5 +1,5 @@ # NF library CMakeLists.txt -add_library(NothinFancy STATIC "src/Engine.cpp" "src/include/nf.h" "src/pch.h" "src/util.h" "src/util/log.h" "src/util/log.cpp" "src/include/nf/EngineConfig.h" "src/util/util.cpp") +add_library(NothinFancy STATIC "src/Engine.cpp" "src/include/nf.h" "src/pch.h" "src/util.h" "src/util/log.h" "src/util/log.cpp" "src/include/nf/EngineConfig.h" "src/util/util.cpp" "src/util/file.h" "src/util/file.cpp") # Use C++20 set_property(TARGET NothinFancy PROPERTY CXX_STANDARD 20) diff --git a/NothinFancy/src/util.h b/NothinFancy/src/util.h index 8541c38..1e0dc97 100644 --- a/NothinFancy/src/util.h +++ b/NothinFancy/src/util.h @@ -2,6 +2,7 @@ #pragma once #include "util/log.h" +#include "util/file.h" // Define NFTime #ifdef _DEBUG diff --git a/NothinFancy/src/util/file.cpp b/NothinFancy/src/util/file.cpp new file mode 100644 index 0000000..201cba2 --- /dev/null +++ b/NothinFancy/src/util/file.cpp @@ -0,0 +1,25 @@ +// File IO functions implementation +#include "pch.h" + +namespace nf::util { + bool readFile(const char* filename, std::string& out) { + std::ifstream fileStream(filename, std::ios::binary | std::ios::ate); + if (!fileStream.is_open()) + return false; + + size_t fileSize = fileStream.tellg(); + out.resize(fileSize); + fileStream.seekg(0); + fileStream.read(out.data(), fileSize); + return true; + } + + bool writeFile(const char* filename, const std::string& in) { + std::ofstream fileStream(filename, std::ios::binary | std::ios::trunc); + if (!fileStream.is_open()) + return false; + + fileStream << in; + return true; + } +} diff --git a/NothinFancy/src/util/file.h b/NothinFancy/src/util/file.h new file mode 100644 index 0000000..b33250d --- /dev/null +++ b/NothinFancy/src/util/file.h @@ -0,0 +1,7 @@ +// File IO functions header +#pragma once + +namespace nf::util { + bool readFile(const char* filename, std::string& out); + bool writeFile(const char* filename, const std::string& in); +}