#include #include #include #include #include #include FILE *fp = nullptr; void openfile(std::string Filepath,const char *mode) { fp= fopen(Filepath.c_str(), mode); } void write_data(const uint8_t *data, size_t length) { if (fp != nullptr) { fwrite(data, 1, length, fp); } } void closefile() { if (fp != nullptr) { fclose(fp); fp = nullptr; } } int64_t read_data(uint8_t **buffer, size_t size) { if (fp == nullptr) { return -1; // File not open } if (*buffer != nullptr) { delete[] *buffer; // Free previously allocated buffer } *buffer = new uint8_t[size]; return fread(*buffer, 1, size, fp); } int main() { MyfileControl_Struct *file_control = new MyfileControl_Struct; file_control->open_file = openfile; file_control->Write_data = write_data; file_control->close_file = closefile; file_control->Read_data = read_data; Set_File_Functions(file_control); IRIS_DATA_example(); return 0; }