sqlite3_get_table
によって生成された結果配列を に渡して、別の関数で呼び出された関数に渡そうとしています。 は、配列をmain
関数に戻すことができないことを除いて、すべて正常に動作しています。 char **sql_results
と正確に置き換えられますか?ここでは、コードです:ANSI Cとsqlite3_get_table:結果配列を呼び出し関数に戻す方法は?
int main()
{
char **sql_results = 0; // help here
sql_select_table("GetAirports", query_string, AIRPORTS_DATABASE,
sql_results, &RecordCount,
&ColumnCount);
for (int i = 0; i < ColumnCount; i++)
printf("%s\n", sql_results[i]); // Generates "EXC_BAD_ACCESS"
}
void sql_select_table(const char *query_name, const char *sql_query,
const char *sql_database,
char **sql_results, int *RecordCount,
int *ColumnCount)
{
sqlite3_get_table(open_database, sql_query,
&sql_results, RecordCount,
ColumnCount, &error_msg);
}
申し訳ありませんが、コードブロック内で太字の書式設定を行う方法はありません。私は何かを読みやすくするためにそれをすべて削除しました、私は太字の欠如が問題を理解しにくくしないことを願っています。 – sarnold