C:在SQLite中定义自己的函数而不是回调
如SQLite站点所示,sqlite3_exec在为某些操作返回的每个记录上调用C:在SQLite中定义自己的函数而不是回调,c,sqlite,C,Sqlite,如SQLite站点所示,sqlite3_exec在为某些操作返回的每个记录上调用回调: int sqlite3_exec( sqlite3*, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void*,int,char**,char**), /* Callbac
回调
:
int sqlite3_exec(
sqlite3*, /* An open database */
const char *sql, /* SQL to be evaluated */
int (*callback)(void*,int,char**,char**), /* Callback function */
void *, /* 1st argument to callback */
char **errmsg /* Error msg written here */
))
是否可以调用另一个自定义函数对每个记录执行不同的操作集,而不是编辑回调
函数
例如,sqlite3\u exec(db、sql、display、0和zErrMsg)
,其中显示
是显示终端中所有记录的功能
编辑:我考虑过重载函数,但我认为C不支持重载 可以使用其他功能,如:
sqlite3_exec(db, sql, display, 0, &zErrMsg);
名称“callback”只是
sqlite3\u exec
函数内部使用的参数名称;您自己的函数可以随意命名。C不支持重载,但允许重复函数参数(使用省略号,…
,运算符)。但是,您是否考虑过使用回调函数来简单地调用另一个函数,正如您所建议的那样,该函数将显示终端中的所有记录?