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 方法调用之后不读取或写入任何字节。