From 21a147c3c1c2fad2819fe76becab320c51eb131f Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Sun, 2 Apr 2017 09:15:30 +0100 Subject: Adding initial files --- src/io_manager.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/io_manager.cpp (limited to 'src/io_manager.cpp') diff --git a/src/io_manager.cpp b/src/io_manager.cpp new file mode 100644 index 00000000..106dd248 --- /dev/null +++ b/src/io_manager.cpp @@ -0,0 +1,27 @@ +#include "io_manager.hpp" + +#include +#include + +bool IoManager::readFileToBuffer(const std::string &file_path, std::vector &buffer) +{ + std::ifstream file(file_path, std::ios::binary); + if(!file.is_open()) + throw std::runtime_error("Could not open '"+file_path+"'"); + + // seek to the end + file.seekg(0, std::ios::end); + + // get the file size + int file_size = file.tellg(); + file.seekg(0, std::ios::beg); + + // reduce file size by header bytes + file_size -= file.tellg(); + + buffer.resize(file_size); + file.read((char *)&buffer[0], file_size); + file.close(); + + return true; +} -- cgit