gpt4 book ai didi

c - 我的 sqlite3 c 函数正在泄漏内存

转载 作者:太空宇宙 更新时间:2023-11-04 01:27:04 24 4
gpt4 key购买 nike

知道为什么我每次调用这个函数都会泄漏内存吗?

char *getData(sqlite3 *db)
{
char *ret;
sqlite3_stmt *res;

int rc = sqlite3_prepare_v2(db, SELECT_STATEMENT_SQL, -1, &res, 0);

if (rc != SQLITE_OK) {
sprintf(stderr, "%s\n", sqlite3_errmsg(db));
return stderr;
}

rc = sqlite3_step(res);

if (rc == SQLITE_ROW) {
ret = sqlite3_column_text(res, 0);

} else {
ret = "error!";
}
sqlite3_free(res);
return ret;
}

最佳答案

您需要调用sqlite3_finalize()正确释放内存,为语句分配。

关于c - 我的 sqlite3 c 函数正在泄漏内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29332545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com