小巧。快速。可靠。
三选二。

SQLite C 接口

增量读取 BLOB 中的数据

int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset);

此函数用于将打开的 BLOB 句柄 中的数据读取到调用方提供的缓冲区中。从打开的 BLOB 中复制 N 个字节的数据到缓冲区 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() 的成功调用创建的 BLOB 句柄,并且尚未由 sqlite3_blob_close() 关闭。将任何其他指针传递到此例程会导致未定义且可能不希望的行为。

另请参阅:sqlite3_blob_write()

另请参阅 对象常量函数 列表。