如何将整数值分配给“key.data”在 Berkeley DB 中使用 C

发布于 2024-12-01 08:06:23 字数 344 浏览 0 评论 0原文

最近我在 Berkeley DB 工作。我见过一些例子,其中人们在使用 Berkeley DB 创建数据库时使用“string”作为“key.data”的值。我想为其分配一个整数值。我怎样才能做到这一点?我应该创建一个包含 int 成员的结构还是有其他可能的方法?

DBT key, data;
memset(&key, 0, sizeof(key));
memset(&data, 0, sizeof(data));
key.data = "fruit";
key.size = sizeof("fruit");

因此,我想分配一个整数值,而不是上面的“水果”。任何形式的帮助将不胜感激。

Off lately I am working with Berkeley DB. I have seen examples wherein people have used "string" as values to "key.data" while creating a database using Berkeley DB. I want to assign an integer value to it. How can I do that? Should I create a structure with int member in it or is there any other way possible?

DBT key, data;
memset(&key, 0, sizeof(key));
memset(&data, 0, sizeof(data));
key.data = "fruit";
key.size = sizeof("fruit");

So instead of "fruit" above I want to assign an integer value. Any kind of help would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乖乖 2024-12-08 08:06:23

DBT 结构提供了一个 void * 字段,您可以使用它来指向您的
数据,以及标识数据长度的另一个字段。他们可以
因此可用于存储从简单的原始数据到
只要你想存储的信息结构复杂
驻留在单个连续的内存块中。

请参阅 http://download.oracle.com/docs /cd/E17076_02/html/gsg/C/DBEntry.html

要存储整数,您可以将指向 int 的指针分配给 key.data,例如:

int x = 42;
key.data = &x;
key.size = sizeof(x);

DBT structures provide a void * field that you use to point to your
data, and another field that identifies the data length. They can
therefore be used to store anything from simple primitive data to
complex structures so long as the information you want to store
resides in a single contiguous block of memory.

See, http://download.oracle.com/docs/cd/E17076_02/html/gsg/C/DBEntry.html

To store integers, you would assign a pointer to an int to key.data, e.g.:

int x = 42;
key.data = &x;
key.size = sizeof(x);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文