Dou*_*ith 3 c arrays pointers void void-pointers
我传递一个字符指针数组sqlite3_exec,它接受1个参数并将其显示为a void *,但后来我想将它作为回调函数中的字符指针数组来访问.
char *output_params[] = {"one", "two"};
result = sqlite3_exec(db, sql_statement, callback, output_params, &zErrMsg);
....
static int callback(void *param, int argc, char **argv, char **azColName) {
// How do I access my character array?
char *output_params[2] = (char **)param;
}
Run Code Online (Sandbox Code Playgroud)
我通过后如何访问它?
这对我有用:
int callback(void *param, int argc, char **argv, char **azColName)
{
const char** p = (const char **)param;
printf("%s\n", p[0]);
printf("%s\n", p[1]);
}
Run Code Online (Sandbox Code Playgroud)
这是演示概念的简单程序.
#include <stdio.h>
void foo(void* in)
{
char **p = (char**)in;
printf("%s\n", p[0]);
printf("%s\n", p[1]);
}
void main(int argc, char** argv)
{
char *output_params[] = {"one", "two"};
foo(output_params);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2771 次 |
| 最近记录: |