今天遇到个很郁闷的问题,我要读取一个 内存地址.事先把地址存到了一个INT类型变量里(十六进制).int=0x...但是读的时候是 按十进制读的.这个怎么办啊?

解决方案 »

  1.   

    额 ,楼主不用指针吗
    int *pInt = NULL;
    int a =10 ;
    pInt = &a;
    pInt = (int *) 0x... ; //这个内存地址你必须保证是int的值哦
      

  2.   

    没有专门处理十六进制的。
    int型没有问题吧?
      

  3.   

    楼主要十六进制的估计多半是要字符串的形式吧!
    可以这般转的:
    char buffer[20];
    int  i = 3445;
    _itoa( i, buffer, 16 );
      

  4.   

    是这样的.我把代码贴出来吧.
    int eax=0x00fd3j00;
    int nu=0;
      ReadProcessMemory(hRemoteProcess, LPVOID(eax), &eax, 8, 0); 0x00fd3j00是个基地址.  然后偏移0x00000530
    但是在下面一条,eax+偏移量的时候 eax是十进制,这样结果就不对了.
    ReadProcessMemory(hRemoteProcess, LPVOID(eax+0x00000530), &nu, 8, 0);