SQLite C 接口
从 BLOB 中增量读取数据
int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);
此函数用于将数据从打开的BLOB 句柄读取到调用者提供的缓冲区中。N 个字节的数据从打开的 BLOB 复制到缓冲区 Z,从偏移量 iOffset 开始。
如果偏移量 iOffset 小于 BLOB 末尾的 N 个字节, 则返回SQLITE_ERROR并且不读取任何数据。如果 N 或 iOffset 小于零,则返回SQLITE_ERROR并且不读取任何数据。可以使用sqlite3_blob_bytes()接口确定 blob 的大小(以及 N+iOffset 的最大值)。
尝试读取过期的BLOB 句柄失败,错误代码为SQLITE_ABORT。
成功时,sqlite3_blob_read() 返回 SQLITE_OK。否则,返回错误代码或扩展错误代码。
此例程仅适用于由先前成功调用sqlite3_blob_open()创建且未被sqlite3_blob_close()关闭的BLOB 句柄。将任何其他指针传递给此例程会导致未定义且可能不受欢迎的行为。