我试图使C程序工作,我生气了。这是我的代码简化查找错误:使用SQLite3与C分段错误
#include <stdio.h>
#include <unistd.h>
#include <sqlite3.h>
int main(){
sqlite3 *conn;
sqlite3_stmt *res;
const char *tail, *sqlresult;
sqlite3_open("cubecat", &conn);
char buffer,query;
int id;
id= 1;
buffer = 'a';
if(buffer == 'a') snprintf(&query,100,"SELECT start FROM payloads WHERE id=%d", id);
printf("%s",&query);
int error = sqlite3_prepare_v2(conn, &query, 100, &res, &tail);
printf("%d",error);
}
的错误是完全的“sqlite_prepare_v2”功能,因为如果我评论这一行,没有分段错误。
预先感谢您!
'char *'不一定是指向一个'char'的指针。它可能是一个指向char * **数组的第一个元素的指针。** – 2013-02-16 17:49:44
查询为'char'?也许它必须是'char *' – 2013-02-16 17:50:09