-1
我正在尝试将二进制数据写入文件,并且出现分段错误。我从sqlite blob获取二进制数据。 我需要一些帮助这个代码。 写入命令错误。 sqlite的回调:C++ fstream.write分段错误
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;
}
写功能:
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();
}
你有很多指针 - 它们指向什么?分段错误的一个常见原因是它们没有指向任何地方(未初始化) –
我试图理解你的回调函数的输入,无法理解任何东西。 – ssovukluk
try art-> bin = * data [3]; ? – ssovukluk