小巧、快速、可靠。
三者择其二。

SQLite C 接口

动态字符串状态

int sqlite3_str_errcode(sqlite3_str*);
int sqlite3_str_length(sqlite3_str*);
char *sqlite3_str_value(sqlite3_str*);

这些接口返回 sqlite3_str 对象的当前状态。

如果在 sqlite3_str X 中构建动态字符串时发生任何先前错误,则 sqlite3_str_errcode(X) 方法将返回相应的错误代码。 sqlite3_str_errcode(X) 方法在出现任何内存不足错误后返回 SQLITE_NOMEM,如果动态字符串的大小超过 SQLITE_MAX_LENGTH 则返回 SQLITE_TOOBIG,或者如果没有任何错误则返回 SQLITE_OK

sqlite3_str_length(X) 方法返回正在 sqlite3_str 对象 X 中构建的动态字符串的当前长度(以字节为单位)。 sqlite3_str_length(X) 返回的长度不包括零终止字节。

sqlite3_str_value(X) 方法返回指向正在 X 中构建的动态字符串的当前内容的指针。 sqlite3_str_value(X) 返回的值由 sqlite3_str 对象 X 管理,可能会被同一 sqlite3_str 对象上的任何后续方法释放或更改。应用程序在对同一对象进行任何后续方法调用后不得使用 sqlite3_str_value(X) 返回的指针。应用程序可以更改 sqlite3_str_value(X) 返回的字符串的内容,只要它们不写入 0 到 sqlite3_str_length(X) 范围之外的任何字节,并且在任何后续 sqlite3_str 方法调用后不读取或写入任何字节。

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