如何将sqlite3_int64转换为long?

时间:2009-06-18 18:07:20

标签: c sqlite

我正在使用C api从sqlite3数据库中读取数据。 sqlite3_column_int64返回一个sqlite3_int64对象。如何将其转换为长?

2 个答案:

答案 0 :(得分:2)

您应该使用stdint.h中定义的标准整数类型。然后,您可以使用int64_t并知道在每个平台上它将是64位宽。

然后你可以将sqlite3_int64转换为int64_t,你就可以了。

答案 1 :(得分:0)

C中的long通常是32位,而您正在查看sqlite中的64位整数。只要您使用C,就可以使用long long类型。

以下是您可以参考的内容:

http://home.att.net/~jackklein/c/inttypes.html#long_long

我会尝试将sqlite3_int64解引用为long long int,并通过执行sizeof(long long)来查看它是否有效

编辑:我发现sqlite_int64的typedef也可以作为参考:

http://www.sqlite.org/c3ref/int64.html