char caHex[255];                   int nLen = Convert2HexString((unsigned char*)&dwDogID, 4, caHex); //表示为16进制的字符串
int Convert2HexString(unsigned char* pSrc, int nSrcLen, char* pDes){        
         int j =  0;
         for(int i = 0; i<nSrcLen;i++)
         {
                   j += sprintf(pDes+j, "%2.2X", pSrc[i]);
         }         pDes[j] = '\0';         return j;
}本人对C++不太熟悉,望高人指点

解决方案 »

  1.   

    function Convert2HexString(Src: PChar; SrcLen: Integer; Dest: PChar): Integer;
    begin
      Result := SrcLen * 2;
      BinToHex(Src, Dest, SrcLen);
    end;
      

  2.   

    比如10进制为 123456789
    Convert2HexString该如何调用生成16进制字符
      

  3.   

    procedure TForm1.Button2Click(Sender: TObject);
    VAR
      pc:pchar;
      str:string;
      x:  integer;
    begin
      pc:='123456789';
      x:=strtoint(pc);
      str:=inttohex(x,length(pc));
      showmessage(str);
    end;
      

  4.   

    我也觉得IntToHex就可以解决问题,不知道为什么那个C++函数要挟那么一大堆,好了,反正我分也多,散分吧