char a[4]for(i=0;i<4;i++)
    ptrFile->Read(((byte*)a[i])[0],1);
return a;

解决方案 »

  1.   

    因为 0x74CA8A01 在内存和文件中的内容就是 01 8a ca 74
    这是wintel结构的计算机的特产(所谓低位在前高位在后,你不会没听过吧?)。
      

  2.   

    0x74CA8A01的十进制值是1959430657,有什么简便方法可以从0x74CA8A01得到
    0x018ACA74的十进制值吗?
      

  3.   

    long n;
    ptrFile->Read(&n,4);      
      

  4.   

    我上面错了怎么写进去就怎么读出  为什么要反过来
    char a[4]
    long *n;
    for(i=0;i<4;i++)
        ptrFile->Read(((byte*)a[i]),1);
    n=a;*n就是你要的数了
      

  5.   

    上面又错了  烦  
    应该是
    n=(long *)a;
      

  6.   

    同意zhangnanonnet(pizizhang)等的回复
      

  7.   

    同意zhangnanonnet(pizizhang)等的回复
      

  8.   

    同意zhangnanonnet(pizizhang)等的回复
      

  9.   

    非常感谢你们,你们所说的程序与我最初的方法所得的结果一样,但是稍作修改就可以
    达到目的了,程序如下:...
    BYTE a[4];
    for(int i=0;i<4;i++)
        ptrFile->Read(&a[3-i],1);
    long *n=(long*)a;
    ...
    n=18aca74
    给分!!!!!!!