gpt4 book ai didi

c++ - 在调用 sqlite3_step() 之前我没有记录计数,如何在二维字符串数组中填充记录?

转载 作者:太空宇宙 更新时间:2023-11-04 12:00:03 26 4
gpt4 key购买 nike

我需要分配一个二维字符串数组以将查询结果返回给调用者。查询可能类似于

   Select * from files where size > x 

我需要分配的二维数组是这样的

   std::string [x][y]; 

我知道列数,但当然我不知道有多少行会匹配查询。我必须事先分配内存来放置结果集。

我知道我可以像这样执行一个单独的查询,但那太过分了,应该没有必要执行一个单独的查询。

   select count(*) from files where size > x

也许我可以重新考虑一个更动态的 2D 数据结构来推送结果?我不确定有什么想法吗?

最佳答案

为什么不使用 std::vector < std::vector < std::string > > ?它可以动态增长,并且可以通过 vector.size() 轻松检查行数。 .

根据您执行查询的方式,sqlite 会告诉您返回的行数。例如,请在此处查看 sqlite_get_table() : http://www.sqlite.org/c3ref/free_table.html .它返回 *pnRow 中的行数.

关于c++ - 在调用 sqlite3_step() 之前我没有记录计数,如何在二维字符串数组中填充记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14509131/

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