首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

如何把unsigned char转成2进制然后填进TEdit里.

2012-06-14 
怎么把unsigned char转成2进制然后填进TEdit里....mars转好的密文是unsigned char[16]怎么可以转成2进制数

怎么把unsigned char转成2进制然后填进TEdit里....
mars转好的密文是unsigned char[16]

怎么可以转成2进制数字然后填进TEdit里面么?



[解决办法]
我来也!!!

C/C++ code
#include <stdio.h>// ---------------------------------------HRESULT __stdcall CrnByteToHex(const LPBYTE lpInBuf, UINT uInLen, LPSTR &lpOutBuf, UINT &uOutLen){    uOutLen = 0;    if (!lpInBuf) return E_INVALIDARG;    char sz[3] = { 0 };    uOutLen = uInLen * 2;    lpOutBuf = new char[uOutLen + 1];    try    {        for (UINT i = 0; i < uInLen; i++)        {            sprintf(sz, "%02X", lpInBuf[i]);            strncpy(lpOutBuf + i * 2, sz, 2);        }        lpOutBuf[uOutLen] = 0x0;        return S_OK;    }    catch (...)    {        delete []lpOutBuf;        return S_FALSE;    }}// ---------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){    const UINT uInLen = 5;    byte bt[uInLen] = { 0x01, 0x03, 0x05, 0x07, 0x09 };    LPSTR lpOutBuf;    UINT uOutLen;    HRESULT hr = CrnByteToHex(bt, uInLen, lpOutBuf, uOutLen);    if (SUCCEEDED(hr))    {        ShowMessage(String().sprintf(                "输入: %d, 输出: %d, 结果:\r\n%s",                uInLen, uOutLen, lpOutBuf));        delete []lpOutBuf;    }} 

热点排行