我有一个要存储在数据库中的png文件,但是,即使将长度传递给sqlite3_bind_blob()
,它也会停止填充第一个nul字符的值。
以下是相关代码:
fseek(file,0xC,SEEK_CUR); // Skip to 12 (0xC) and read everything (It's a raw png file)
char content[size-0xC];
fread(content,1,size-0xC,file);
sqlite3_bind_int(inserticonstmt,1,id);
sqlite3_bind_blob(inserticonstmt,2,content,size-0xC,SQLITE_STATIC);
sqlite3_step(inserticonstmt);
sqlite3_clear_bindings(inserticonstmt);
sqlite3_reset(inserticonstmt);
有什么想法吗?
编辑:看起来,虽然数据库实际上存储了整个blob,但它并没有从CLI界面返回
答案 0 :(得分:0)
sqlite cli接口有一个错误,它将blob解析为字符串并提前停止打印,包括是否告诉它将输出发送到文件。