#include #include #include bool WriteBinaryFile(const char* pFileName, const std::vector& data) { FILE* fp = fopen(pFileName, "wb"); if (fp) { if (data.size()) { fwrite(&data[0], 1, data.size(), fp); } fclose(fp); } else { std::cout << "ERROR!! Failed to open " << pFileName << "\n"; std::cout << "Make sure the file or directory has write access\n"; return false; } return true; } bool ReadBinaryFile(const char* pFileName, std::vector& image) { FILE* fp = fopen(pFileName, "rb"); if (!fp) { std::cout << "ERROR!! Failed to open " << pFileName << "\n"; std::cout << "Make sure the file or directory has read access\n"; return false; } fseek(fp, 0, SEEK_END); const long fileLength = ftell(fp); fseek(fp, 0, SEEK_SET); if (!fileLength) { std::cout << pFileName << " has zero length\n"; fclose(fp); return false; } image.resize((size_t)fileLength); fread(&image[0], 1, image.size(), fp); fclose(fp); return true; }