gpt4 book ai didi

c++ - 字节数组到 Variant

转载 作者:太空狗 更新时间:2023-10-29 20:42:47 26 4
gpt4 key购买 nike

我有一个字节数组,例如包含

byte mac[6] = {0x00, 0x8a, 0x0C, 0x98, 0x11, 0x15}

使用此语句将其插入数据库时​​

m_pWiFiRecords->Fields->Item[varColumnIndex]->Value = _variant_t((char*)(pRecord->bss_id));

它将它保存为一个空数组,因为第一个元素 = 0x00,并且在将其转换为字节数组时将其保存为 -1。

你能帮我解决这个问题吗?

最佳答案

这是将二进制数据放入 _variant_t 中的方法。如果数据库设置为处理二进制数据,它应该适合您。

请注意,当 _variant_t 超出范围时,它会负责对 SAFEARRAY 进行深度破坏,因此您不必担心执行 SafeArrayDestroy.

_variant_t var;
var.vt = VT_ARRAY | VT_UI1;

SAFEARRAYBOUND rgsabound[1];
rgsabound[0].cElements = 6;
rgsabound[0].lLbound = 0;

var.parray = SafeArrayCreate(VT_UI1,1,rgsabound);

void * pArrayData = NULL;
SafeArrayAccessData(var.parray,&pArrayData);
memcpy(pArrayData, mac, 6);
SafeArrayUnaccessData(var.parray);

m_pWiFiRecords->Fields->Item[varColumnIndex]->Value = var;

关于c++ - 字节数组到 Variant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17629266/

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