Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C:在SQLite中定义自己的函数而不是回调_C_Sqlite - Fatal编程技术网

C:在SQLite中定义自己的函数而不是回调

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

如SQLite站点所示,sqlite3_exec在为某些操作返回的每个记录上调用
回调

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不支持重载,但允许重复函数参数(使用省略号,
,运算符)。但是,您是否考虑过使用回调函数来简单地调用另一个函数,正如您所建议的那样,该函数将显示终端中的所有记录?