_variant_t temp;
temp.vt = VT_UI4;
long test = -1;
DWORD startPosition = (DWORD)test;
memcpy(&temp, &startPosition,4);
DWORD me = temp.ulVal;
发现me的值和startPosition 的值居然不同了。郁闷!
temp.vt = VT_UI4;
long test = -1;
DWORD startPosition = (DWORD)test;
memcpy(&temp, &startPosition,4);
DWORD me = temp.ulVal;
发现me的值和startPosition 的值居然不同了。郁闷!
解决方案 »
- VC表格怎么实现
- 【我的2010】幸福鱼的2010
- VC如何实现实时保存编辑框中显示的数据,如何实时保存动态的采集曲线图?
- 有点难度的问题,S-Video如何指定输出区域?
- VS2005下自绘CListCtrl时发现ON_WM_MEASUREITEM()和ON_WM_MEASUREITEM_REFLECT()无效x
- 为什么窗口句柄赋值有问题
- 关于学习入门的迷惑,请有过相同经历的人指导!!!
- callback函数
- 如何关闭WIN2000启动时的程序!
- 关于在windows获取鼠标的问题!
- 怎样对CListBox中 选中的节点进行文本编辑?
- 请教大虾 vc中variant_t怎样转换成字符串型的值?
temp.ulVal = -1;
or
_variant_t temp((long)-1);typedef struct tagVARIANT {
VARTYPE vt;
unsigned short wReserved1;
unsigned short wReserved2;
unsigned short wReserved3;
...}
memcpy(...)把vt和wReserved1给overlapped.
_variant_t temp;
temp.vt = VT_UI4;
long test = -1;
DWORD startPosition = (DWORD)test;
memcpy(&temp, &startPosition,4);
DWORD me = temp.ulVal;
_variant_t temp;
temp.vt = VT_UI4;
long test = -1;
DWORD m_startPosition = (DWORD)test;
int len = sizeof(VARTYPE);
memcpy(&temp.ulVal, &m_startPosition,4);
DWORD me = temp.ulVal;
结果是对的
是不对的,破坏了结构_variant_t的