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

SQLite C 接口

向动态字符串添加内容

void sqlite3_str_appendf(sqlite3_str*, const char *zFormat, ...);
void sqlite3_str_vappendf(sqlite3_str*, const char *zFormat, va_list);
void sqlite3_str_append(sqlite3_str*, const char *zIn, int N);
void sqlite3_str_appendall(sqlite3_str*, const char *zIn);
void sqlite3_str_appendchar(sqlite3_str*, int N, char C);
void sqlite3_str_reset(sqlite3_str*);

这些接口将内容添加到先前从 sqlite3_str_new() 获取的 sqlite3_str 对象中。

sqlite3_str_appendf(X,F,...)sqlite3_str_vappendf(X,F,V) 接口使用 SQLite 的 内置 printf 功能将格式化文本追加到 sqlite3_str 对象 X 的末尾。

sqlite3_str_append(X,S,N) 方法将字符串 S 中正好 N 个字节追加到 sqlite3_str 对象 X 的末尾。N 必须是非负数。S 必须包含至少 N 个非零字节的内容。要完整追加一个以零结尾的字符串,请改用 sqlite3_str_appendall() 方法。

sqlite3_str_appendall(X,S) 方法将以零结尾的字符串 S 的完整内容追加到 sqlite3_str 对象 X 的末尾。

sqlite3_str_appendchar(X,N,C) 方法将单字节字符 C 的 N 个副本追加到 sqlite3_str 对象 X 的末尾。例如,此方法可用于添加空格缩进。

sqlite3_str_reset(X) 方法将 sqlite3_str 对象 X 中正在构建的字符串重置为长度为零的字节。

这些方法不返回结果代码。如果发生错误,则该事实将记录在 sqlite3_str 对象中,并且可以通过随后调用 sqlite3_str_errcode(X) 来恢复。

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