C 如何将sqlite3_int64转换为long?
我正在使用C api从sqlite3数据库读取数据。sqlite3_列_int64返回sqlite3_int64对象。如何将其转换为long?C中的long通常是32位,而您看到的是来自sqlite的64位整数。只要使用C,就可以使用long类型 以下是您可以参考的内容: 我会尝试将sqlite3_int64作为long-long int去引用,并通过执行sizeof(long-long)来查看它是否有效 编辑:我找到了sqlite_int64的typedefs,您也可以将其作为参考:C 如何将sqlite3_int64转换为long?,c,sqlite,C,Sqlite,我正在使用C api从sqlite3数据库读取数据。sqlite3_列_int64返回sqlite3_int64对象。如何将其转换为long?C中的long通常是32位,而您看到的是来自sqlite的64位整数。只要使用C,就可以使用long类型 以下是您可以参考的内容: 我会尝试将sqlite3_int64作为long-long int去引用,并通过执行sizeof(long-long)来查看它是否有效 编辑:我找到了sqlite_int64的typedefs,您也可以将其作为参考: 您应该
您应该使用stdint.h中定义的标准整数类型。然后,您可以使用int64\t,并知道在每个平台上它都将是64位宽的 然后,您可以将sqlite3_int64强制转换为int64_t,就可以了。sizeof(long-long*)在32位系统上可能是4。ITYM sizeof(长-长)。