Ich versuche, Binärdaten in Datei zu schreiben, und ich bekomme Segmentierung Fehler. Ich bekomme Binärdaten von SQLite Blob. Ich brauche Hilfe mit diesem Code. Fehler beim Schreiben des Befehls. sqlite Rückruf:C++ fstream.write Segmentierung Fehler
static int callback(void* object, int, char** data, char**)
{
if (fromdb* const art= static_cast<fromdb*>(object))
{
art->title = *data[1];
art->creator = *data[2];
art->bin = data[3];
art->year = *data[4];
}
return 0;
}
Schreibfunktion:
void write() {
// << bin;
ofstream towrite;
string name;
cout << "Podaj nazwe pliku do zapisu";
cin >> name;
towrite.open(name, ios::out | ios::binary);
towrite.write(bin, sizeof(bin));
towrite.close();
}
Sie haben viele Zeiger - worauf zeigen sie? Ein häufiger Grund für einen Segmentierungsfehler ist, dass sie nirgendwohin zeigen (nicht initialisiert). –
Ich habe versucht, die Eingabe Ihrer Callback-Funktion zu verstehen, ich konnte nichts verstehen, was es war. – ssovukluk
versuche art-> bin = * data [3]; ? – ssovukluk