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 方法呼叫之後讀取或寫入任何位元組。