gpt4 book ai didi

c - C 中的 SQLite 绑定(bind) blob 提前终止

转载 作者:行者123 更新时间:2023-11-30 18:02:32 25 4
gpt4 key购买 nike

我有一个要存储在数据库中的 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 界面返回它

最佳答案

sqlite cli 接口(interface)有一个错误,它将 blob 解析为字符串并提前停止打印它们,包括是否被告知将输出发送到文件。

关于c - C 中的 SQLite 绑定(bind) blob 提前终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9170297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com