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_TOOBIG如果动态字符串的大小超过 SQLITE_MAX_LENGTH,或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方法调用之后不读取或写入任何字节。