Ciao,
detto brevemente, ho scritto un codice che mi prende un blob da un sqlite3 database. Sono riuscito a scrivere il codice con malloc e memcpy in modo da avere puntatore a memoria esterna del database. Per testare che la cosa funziona ho provato a scrivere l'array su disco tramite un ofstream, e funziona. Il jpg viene creato perfettamente.
Vi presento la parte del codice:
codice:
char* ptImage = (char*) malloc(imageSize);
memcpy(ptImage, sqlite3_column_blob(pStmt, 3), imageSize);
const unsigned char* ptFilename = sqlite3_column_text(pStmt, 4);
const char* ptFilenameChar = (const char*) ptFilename;
ofstream outfile (ptFilenameChar,ofstream::binary);
outfile.write (ptImage,imageSize);
Come detto funziona, ma io avrei bisogno di una cosa leggermente diversa. Avrei bisogno di creare un oggetto di tipo FILE al posto della scrittura su disco. è possibile? O devo per forza averlo averlo sul disco ed aprirlo con fopen?