【发布时间】:2016-08-18 08:17:20
【问题描述】:
我愿意访问我的 SQLite 数据库的列中存在的特定元素,所以为了实现这一点,我使用了一个 select 语句
char *query = {0};
strcat(query, "SELECT ");//exception thrown here
strcat(query, (char*)arr);//The value to be asscessed
strcat(query, " FROM CARS");
但这会在 ucrtbased.dll 中抛出异常,为什么?
更新
我已经参考了这个答案here 并尝试了这个char* line1 = "SELECT ";
char* line2 = (char*)arr;
char* line3 = " FROM CARS";
size_t len1 = strlen(line1);
size_t len2 = strlen(line2);
size_t len3 = strlen(line3);
char *query = (char*)malloc(len1 + len2 + len3 + 1);
if (!query) abort();
memcpy(query, line1, len1);
memcpy(query + len1, line2, len2);
query[len1 + len2 + len3] = '\0';
但我发现我做错了什么(因为 out put 跳转到 else 语句,这意味着无效的 sqlite 语句)我无法弄清楚请帮助我。
我也参考了本教程@ cplusplus.com,但无法弄清楚 谢谢
【问题讨论】: