有个一个文件是c++产生的,里面包含一个c++ dward value(4 bytes long, 32-bit unsigned integer)现在要用vb处理这个文件,把里面的值取出来,变成看得懂的数字假设c++ 文件的二进制值是47 14 00 00
则vb取出的值是 5191

解决方案 »

  1.   

    按二进制打开,用get将数据读入一个LONG类型变量或LONG类型数组。 如果C++写入的是unsigned int 类型的话,VB 不支持unsigned 类型需要自己转换一下
      

  2.   

    直接get或是读入byte()后用CopyMemory
      

  3.   

    应该是 DWORD 类型值吧,就是个无符号32位整数类型。
    其实可以对应VB的 Long 类型,只是VB的是有符号的32为整数类型(过大会变负数)。
    简单的办法就是直接用VB的Long类型读出来,然后进行类型转换。    Dim lngTemp As Long
        '这里是初始化
        lngTemp = CLng("&H00001447")  '无论你的字节怎么变,只要还是32位,都能正常显示
        
        '这里开始转换
        MsgBox CStr(CCur("&H" & Hex(lngTemp)))