C ++驱动程序中Blob类型的映射

时间:2017-11-14 05:46:37

标签: c++ cassandra

根据" datastax.github.io/cpp-driver/topics/basics /",Cassandra的blob数据类型与' const cass_byte_t *'匹配。假设数据库包含以blob形式保存的结构;我该如何获取它。 有人建议我使用cass_value_get_bytes()。任何人都可以举例说明如何使用这个函数来获取结构吗?

1 个答案:

答案 0 :(得分:1)

cass_value_get_bytes()有什么问题?您只需要执行对您的结构读取的数据的转换,例如:

const cass_byte_t* outPtr = null;
size_t outSize = 0;
if (cass_value_get_bytes(casValue, &outPtr, &outSize) == CASS_OK) {
   if (outSize == sizeof(YourStruct)) {
       const YourStruct* yourStruct = reinterpret_cast<const YourStruct*>(outPtr);
   }
}