gpt4 book ai didi

c - libpq-fe,无法选择 INT8

转载 作者:行者123 更新时间:2023-11-30 16:02:09 26 4
gpt4 key购买 nike

我用 C 编程,在那里我使用库 libpq-dev/libpq-fe 。通过这个库,我连接到本地 postgresql 数据库。

我写了一些测试代码,它选择/插入一些东西。但我一直有一个问题:我只能选择INT4 (4 字节整数)数值或字符串。可能是其他人,我没有尝试每种类型。但我无法选择 INT8 值(8 字节整数)。

示例:

"SELECT COUNT(*)::INT8 FROM tb_Test;"

这给了我一个 INT8 结果。我不知道如何才能得到它?我试过这个:

long count = ntohl(*(uint64_t*)PQgetvalue(result, 0, 0));

计数始终为 0。但是如果我执行这个包含显式类型转换的选择,它就会起作用:

"SELECT COUNT(*)::INT4 FROM tb_Test;"

我使用此代码来获取计数:

long count = ntohl(*(uint32_t*)PQgetvalue(result, 0, 0));

有人知道问题出在哪里吗?如果您喜欢我发布更多代码,请说出来。我只发布了这个,因为我认为这是唯一相关的部分。

谢谢

最佳答案

PQgetvalue()的返回值是字符串。然后,您可以使用诸如 strtoll() 之类的方法将它们转换为整数类型。

关于c - libpq-fe,无法选择 INT8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5645877/

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