C FSTREAM.WRITE分割故障
C++ fstream.write segmentation fault
我试图将二进制数据写入文件,我会得到分割错误。我从sqlite blob获得二进制数据。我需要有关此代码的一些帮助。错误爆炸在写命令上。sqlite回调:
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();
}
sqlite3_exec()
只是围绕preapre/step/pinalized loop的包装器。
sqlite3_exec()文档说:
sqlite3_exec()回调的第三个参数是字符串的一系列指示,就像从sqlite3_column_text()获得的字符串,每列一个。
。
该文档说:
这些例程只能在返回sqlite3_step()的最新调用sqlite_row,而sqlite3_reset()和sqlite3_finalize()均未被调用。如果这些例程中的任何一个是在sqlite3_reset()或sqlite3_finalize()或sqlite3_step()返回SQLite_row以外的其他内容后调用的,则结果是未定义的。
换句话说:回调返回后,字符串消失了;您必须复制字符串的内容。
相关文章:
- 分割故障C++矩阵
- C ,二进制树的高度,而不是检查我的子树是否为空,而是在检查我的子树是否是叶子节点.抛出分割故障
- 我正在为此代码分割故障
- 在执行strcpy时获取分割故障错误
- 空隙指针分割故障
- Xcode会产生分割故障,而不是例外
- OPENCV C 中的分割故障误差
- 分割故障:核心倾倒C 矢量对字符串:
- C 2D数组导致分割故障(核心倾倒)
- 分割故障/错误读数变量-C 列表
- DLSYM导致分割故障
- 使用C 中的操作员删除的分割故障
- 使用Linux X64下的Libmozjs-52(SpidermonKey)进行分割故障
- 使用长变量时分割故障(11)错误
- C - 返回字符串时的分割故障
- 创建VertexArray时的分割故障
- 向量分割故障的向量
- 从std :: fileSystem ::路径对象的类中退出时的分割故障
- C 矢量分割故障
- 基于向量的数据格式的分割故障误差