#include #include #include void Filehandler::init(char *path) { m_file = NULL; m_buffer = NULL; asprintf(&m_path, "%s", path); } bool Filehandler::open(void) { m_file = fopen(m_path, "r"); if (m_file == NULL) { printf("Unable to open %s\n", m_path); return false; } return true; } unsigned int Filehandler::size(void) { unsigned int current = ftell(m_file); fseek(m_file, 0, SEEK_END); unsigned int s = ftell(m_file); fseek(m_file, current, SEEK_SET); return s; } char * Filehandler::read(void) { fseek(m_file, 0, SEEK_SET); m_buffer = (char *) calloc(size(), sizeof(char)); int bytesread = fread(m_buffer, sizeof(char), size(), m_file); if (bytesread < 0) { return NULL; } return m_buffer; } void Filehandler::close(void) { fclose(m_file); free(m_buffer); free(m_path); }